Removed backward-compatibility code #1823
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI build | |
on: [push, pull_request] | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- 5.15.2 | |
platform: | |
- gcc_64 | |
- android | |
- msvc2019 | |
- mingw81_32 | |
- clang_64 | |
include: | |
- platform: gcc_64 | |
os: ubuntu-latest | |
target: desktop | |
make: make | |
- platform: android | |
os: ubuntu-20.04 | |
target: android | |
make: make | |
- platform: msvc2019 | |
os: windows-2019 | |
target: desktop | |
make: nmake | |
- platform: mingw81_32 | |
os: windows-latest | |
target: desktop | |
arch: win32_mingw81 | |
tools: 'tools_mingw,qt.tools.win32_mingw810' | |
make: mingw32-make | |
- platform: clang_64 | |
os: macos-latest | |
target: desktop | |
make: make | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@master | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@master | |
with: | |
python-version: '3.10' | |
- name: Add msbuild to PATH | |
if: matrix.platform == 'msvc2019' | |
uses: microsoft/setup-msbuild@main | |
- name: Downgrade Android NDK | |
if: matrix.platform == 'android' | |
run: | | |
ANDROID_ROOT=/usr/local/lib/android | |
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk | |
ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle | |
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager | |
echo "y" | $SDKMANAGER "ndk;21.4.7075529" | |
echo "y" | $SDKMANAGER "platforms;android-24" | |
# this is so stupid but i can't find anything else that works | |
rm -rf $ANDROID_HOME/ndk/25.2.9519653 | |
ln -sf $ANDROID_HOME/ndk/21.4.7075529 $ANDROID_HOME/ndk/25.2.9519653 | |
- name: Install Qt | |
if: matrix.os != 'ubuntu-latest' | |
uses: jurplel/install-qt-action@v3 | |
id: qt | |
with: | |
version: ${{matrix.version}} | |
target: ${{matrix.target}} | |
arch: ${{matrix.arch}} | |
tools: ${{matrix.tools}} | |
cache: true | |
cache-key-prefix: qt | |
- name: Install Qt (Ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get upgrade | |
sudo apt-get install qtbase5-dev libqt5websockets5-dev qttools5-dev qt5-image-formats-plugins | |
- name: Add tools to PATH (MinGW) | |
if: matrix.platform == 'mingw81_32' | |
shell: bash | |
run: echo "$RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin" >> $GITHUB_PATH | |
- name: Configure MSVC (Windows) | |
if: contains(matrix.platform, 'msvc') | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Build QtApng | |
run: | | |
git clone https://github.com/Skycoder42/QtApng.git | |
cd QtApng | |
cd src/3rdparty | |
chmod +x get_libs.sh | |
./get_libs.sh 1.3.1 1.6.40 | |
cd ../.. | |
qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}} | |
${{matrix.make}} | |
- name: Install QtApng | |
if: matrix.os != 'ubuntu-latest' | |
run: | | |
cd QtApng | |
${{matrix.make}} INSTALL_ROOT="${Qt5_DIR}" install | |
- name: Install QtApng (Ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
cd QtApng | |
sudo ${{matrix.make}} install | |
- name: Install Windows Discord RPC | |
if: contains(matrix.os, 'windows') | |
env: | |
ARCH: ${{ matrix.platform == 'msvc2019' && '64' || '32'}} | |
shell: bash | |
run: | | |
curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-win.zip -o discord_rpc.zip | |
unzip discord_rpc.zip | |
cp ./discord-rpc/win${ARCH}-dynamic/lib/discord-rpc.lib ./lib/ | |
cp ./discord-rpc/win${ARCH}-dynamic/bin/discord-rpc.dll ./bin/ | |
cp ./discord-rpc/win${ARCH}-dynamic/include/discord*.h ./include/ | |
- name: Install Linux Discord RPC | |
if: matrix.platform == 'gcc_64' | |
run: | | |
curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-linux.zip -o discord_rpc.zip | |
unzip discord_rpc.zip | |
cp ./discord-rpc/linux-dynamic/lib/libdiscord-rpc.so ./lib/ | |
cp ./discord-rpc/linux-dynamic/lib/libdiscord-rpc.so ./bin/ | |
cp ./discord-rpc/linux-dynamic/include/discord*.h ./include/ | |
- name: Install Mac Discord RPC | |
if: matrix.os == 'macos-latest' | |
run: | | |
curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-osx.zip -o discord_rpc.zip | |
unzip discord_rpc.zip | |
cp ./discord-rpc/osx-dynamic/lib/libdiscord-rpc.dylib ./lib/ | |
cp ./discord-rpc/osx-dynamic/lib/libdiscord-rpc.dylib ./bin/ | |
cp ./discord-rpc/osx-dynamic/include/discord*.h ./include/ | |
- name: Install Windows BASS | |
if: contains(matrix.os, 'windows') | |
env: | |
ARCH: ${{ matrix.platform == 'msvc2019' && '/x64/' || ''}} | |
shell: bash | |
run: | | |
curl http://www.un4seen.com/files/bass24.zip -o bass.zip | |
unzip -d bass -o bass.zip | |
cp ./bass/c/${ARCH}bass.lib ./lib/ | |
cp ./bass/${ARCH}bass.dll ./bin/ | |
curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip | |
unzip -d bass -o bassmidi.zip | |
cp ./bass/c/${ARCH}bassmidi.lib ./lib/ | |
cp ./bass/${ARCH}bassmidi.dll ./bin/ | |
curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip | |
unzip -d bass -o bassopus.zip | |
cp ./bass/c/${ARCH}bassopus.lib ./lib/ | |
cp ./bass/${ARCH}bassopus.dll ./bin/ | |
- name: Install Linux BASS | |
if: matrix.platform == 'gcc_64' | |
run: | | |
curl http://www.un4seen.com/files/bass24-linux.zip -o bass.zip | |
unzip -d bass -o bass.zip | |
cp ./bass/libs/x86_64/libbass.so ./lib/ | |
cp ./bass/libs/x86_64/libbass.so ./bin/ | |
curl http://www.un4seen.com/files/bassmidi24-linux.zip -o bassmidi.zip | |
unzip -d bass -o bassmidi.zip | |
cp ./bass/libs/x86_64/libbassmidi.so ./lib/ | |
cp ./bass/libs/x86_64/libbassmidi.so ./bin/ | |
curl http://www.un4seen.com/files/bassopus24-linux.zip -o bassopus.zip | |
unzip -d bass -o bassopus.zip | |
cp ./bass/libs/x86_64/libbassopus.so ./lib/ | |
cp ./bass/libs/x86_64/libbassopus.so ./bin/ | |
- name: Install Mac BASS | |
if: matrix.os == 'macos-latest' | |
run: | | |
curl http://www.un4seen.com/files/bass24-osx.zip -o bass.zip | |
unzip -d bass -o bass.zip | |
cp ./bass/libbass.dylib ./lib/ | |
cp ./bass/libbass.dylib ./bin/ | |
curl http://www.un4seen.com/files/bassmidi24-osx.zip -o bassmidi.zip | |
unzip -d bass -o bassmidi.zip | |
cp ./bass/libbassmidi.dylib ./lib/ | |
cp ./bass/libbassmidi.dylib ./bin/ | |
curl http://www.un4seen.com/files/bassopus24-osx.zip -o bassopus.zip | |
unzip -d bass -o bassopus.zip | |
cp ./bass/libbassopus.dylib ./lib/ | |
cp ./bass/libbassopus.dylib ./bin/ | |
- name: Install Android BASS | |
if: matrix.platform == 'android' | |
run: | | |
mkdir -p ./android/libs/armeabi-v7a/ | |
curl http://www.un4seen.com/files/bass24-android.zip -o bass.zip | |
unzip -o bass.zip -d bass | |
cp ./bass/libs/armeabi-v7a/libbass.so ./lib/ | |
unzip -o bass.zip "libs/*" -d "./android/libs/" | |
cp ./bass/libs/armeabi-v7a/libbass.so ./android/libs/armeabi-v7a/ | |
curl http://www.un4seen.com/files/bassmidi24-android.zip -o bassmidi.zip | |
unzip -d bass -o bassmidi.zip | |
cp ./bass/libs/armeabi-v7a/libbassmidi.so ./lib/ | |
unzip -o bassmidi.zip "libs/*" -d "./android/libs/" | |
cp ./bass/libs/armeabi-v7a/libbassmidi.so ./android/libs/armeabi-v7a/ | |
curl http://www.un4seen.com/files/bassopus24-android.zip -o bassopus.zip | |
unzip -d bass -o bassopus.zip | |
cp ./bass/libs/armeabi-v7a/libbassopus.so ./lib/ | |
unzip -o bassopus.zip "libs/*" -d "./android/libs/" | |
cp ./bass/libs/armeabi-v7a/libbassopus.so ./android/libs/armeabi-v7a/ | |
- name: qmake | |
if: matrix.platform != 'android' | |
run: | | |
qmake QMAKE_CXXFLAGS+="-fno-sized-deallocation" DEFINES+=DISCORD CONFIG+=install_ok QT_PLATFORM=${{matrix.platform}} | |
- name: qmake android | |
if: matrix.platform == 'android' | |
run: | | |
qmake CONFIG+=install_ok QT_PLATFORM=${{matrix.platform}} ANDROID_ABIS="armeabi-v7a" | |
- name: build | |
run: | | |
${{matrix.make}} | |
- name: Deploy Windows | |
if: contains(matrix.os, 'windows') | |
working-directory: ${{github.workspace}}/bin/ | |
shell: bash | |
run: | | |
windeployqt --no-quick-import --no-translations --no-virtualkeyboard --no-compiler-runtime --no-webkit2 --no-opengl-sw . | |
cp ../QtApng/plugins/imageformats/qapng.dll ./imageformats/ | |
rm ./imageformats/qtiff.dll | |
rm ./imageformats/qicns.dll | |
rm ./imageformats/qico.dll | |
rm ./imageformats/qsvg.dll | |
rm ./imageformats/qtga.dll | |
rm ./imageformats/qwbmp.dll | |
rm ./Qt5Svg.dll | |
rm -r iconengines | |
rm -r bearer | |
rm -r styles | |
- name: Copy MingW DLL | |
if: matrix.platform == 'mingw81_32' | |
working-directory: ${{github.workspace}}/bin/ | |
shell: bash | |
run: | | |
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll . | |
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libstdc++-6.dll . | |
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libwinpthread-1.dll . | |
- name: Deploy Linux | |
if: matrix.platform == 'gcc_64' | |
working-directory: ${{github.workspace}}/bin/ | |
shell: bash | |
run: | | |
cp ../scripts/launch.sh . | |
mkdir -p imageformats | |
cp ../QtApng/plugins/imageformats/libqapng.so ./imageformats/libqapng.so | |
chmod +x launch.sh | |
chmod +x Attorney_Online | |
tar -cf Attorney_Online.tar ./* | |
rm -rf imageformats | |
rm *.so | |
rm *.sh | |
rm Attorney_Online | |
- name: Deploy Mac | |
if: matrix.os == 'macos-latest' | |
working-directory: ${{github.workspace}}/bin/ | |
shell: bash | |
run: | | |
macdeployqt Attorney_Online.app | |
cp ../QtApng/plugins/imageformats/libqapng.dylib ./Attorney_Online.app/Contents/PlugIns/imageformats/ | |
mv *.dylib ./Attorney_Online.app/Contents/Frameworks | |
install_name_tool -change @loader_path/libbass.dylib @rpath/libbass.dylib ./Attorney_Online.app/Contents/MacOS/Attorney_Online | |
install_name_tool -change @loader_path/libbassopus.dylib @rpath/libbassopus.dylib ./Attorney_Online.app/Contents/MacOS/Attorney_Online | |
install_name_tool -change @loader_path/libbassmidi.dylib @rpath/libbassmidi.dylib ./Attorney_Online.app/Contents/MacOS/Attorney_Online | |
install_name_tool -change @loader_path/libdiscord-rpc.dylib @rpath/libdiscord-rpc.dylib ./Attorney_Online.app/Contents/MacOS/Attorney_Online | |
install_name_tool -change @loader_path/libqapng.dylib @rpath/libqapng.dylib ./Attorney_Online.app/Contents/MacOS/Attorney_Online | |
hdiutil create -volname "Attorney_Online" -srcfolder "./Attorney_Online.app" -ov -format UDZO "Attorney_Online.dmg" | |
rm -r ./Attorney_Online.app/ | |
- name: Deploy Android | |
if: matrix.platform == 'android' | |
working-directory: ${{github.workspace}}/ | |
shell: bash | |
run: | | |
mkdir -p ./build/libs/armeabi-v7a/ | |
mv ./bin/*.so ./build/libs/armeabi-v7a/ | |
cp ./QtApng/plugins/imageformats/libplugins_imageformats_qapng_armeabi-v7a.so ./build/libs/armeabi-v7a/ | |
androiddeployqt --android-platform android-24 --input android-Attorney_Online-deployment-settings.json --output ./build/ --apk ./bin/AttorneyOnline.apk | |
- name: Upload Artifact | |
uses: actions/upload-artifact@master | |
with: | |
name: Attorney_Online-${{matrix.os}}-${{matrix.platform}} | |
path: ${{github.workspace}}/bin/ |