treat FreeBSD like linux for resource folder path (#375) #1391
This file contains hidden or 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: Abaddon CI | |
| on: [ push, pull_request ] | |
| jobs: | |
| msys2: | |
| name: msys2-mingw64 | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| buildtype: [ Debug, RelWithDebInfo, MinSizeRel ] | |
| mindeps: [ false ] | |
| include: | |
| - buildtype: RelWithDebInfo | |
| mindeps: true | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - uses: actions/checkout@v1 | |
| with: | |
| submodules: true | |
| - name: Setup MSYS2 (1) | |
| uses: haya14busa/action-cond@v1 | |
| id: setupmsys | |
| with: | |
| cond: ${{ matrix.mindeps == true }} | |
| if_true: >- | |
| git | |
| make | |
| unzip | |
| mingw-w64-x86_64-toolchain | |
| mingw-w64-x86_64-cmake | |
| mingw-w64-x86_64-ninja | |
| mingw-w64-x86_64-sqlite3 | |
| mingw-w64-x86_64-nlohmann-json | |
| mingw-w64-x86_64-curl | |
| mingw-w64-x86_64-zlib | |
| mingw-w64-x86_64-gtkmm3 | |
| mingw-w64-x86_64-spdlog | |
| if_false: >- | |
| git | |
| make | |
| unzip | |
| mingw-w64-x86_64-toolchain | |
| mingw-w64-x86_64-cmake | |
| mingw-w64-x86_64-ninja | |
| mingw-w64-x86_64-sqlite3 | |
| mingw-w64-x86_64-nlohmann-json | |
| mingw-w64-x86_64-curl | |
| mingw-w64-x86_64-zlib | |
| mingw-w64-x86_64-gtkmm3 | |
| mingw-w64-x86_64-libhandy | |
| mingw-w64-x86_64-opus | |
| mingw-w64-x86_64-libsodium | |
| mingw-w64-x86_64-spdlog | |
| - name: Setup MSYS2 (2) | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: mingw64 | |
| update: true | |
| install: ${{ steps.setupmsys.outputs.value }} | |
| - name: Build (1) | |
| uses: haya14busa/action-cond@v1 | |
| id: build | |
| with: | |
| cond: ${{ matrix.mindeps == true }} | |
| if_true: | | |
| cmake -GNinja -Bbuild -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DUSE_LIBHANDY=OFF -DENABLE_VOICE=OFF -DENABLE_NOTIFICATION_SOUNDS=OFF -DENABLE_QRCODE_LOGIN=OFF -DENABLE_RNNOISE=OFF | |
| cmake --build build | |
| if_false: | | |
| cmake -GNinja -Bbuild -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} -DCMAKE_CXX_FLAGS="-Wl,--default-image-base-low" | |
| cmake --build build | |
| - name: Build (2) | |
| run: ${{ steps.build.outputs.value }} | |
| - name: Setup Artifact | |
| run: | | |
| artifact_dir=build/artifactdir/abaddon-${{ matrix.buildtype }}-${GITHUB_SHA::7} | |
| mkdir -p ${artifact_dir}/bin ${artifact_dir}/etc/ssl/certs ${artifact_dir}/lib ${artifact_dir}/share/glib-2.0/schemas | |
| cd build | |
| cp *.exe ../${artifact_dir}/bin | |
| cd .. | |
| cp /mingw64/etc/ssl/certs/ca-bundle.crt ${artifact_dir}/etc/ssl/certs | |
| cp -r /mingw64/lib/gdk-pixbuf-2.0 ${artifact_dir}/lib | |
| cp -r res/css res/res res/fonts ${artifact_dir}/bin | |
| cp /mingw64/share/glib-2.0/schemas/gschemas.compiled ${artifact_dir}/share/glib-2.0/schemas | |
| cat "ci/msys-deps.txt" | sed 's/\r$//' | xargs -I % cp /mingw64% ${artifact_dir}/bin || : | |
| cp /usr/bin/msys-ffi-8.dll ${artifact_dir}/bin/libffi-8.dll | |
| mkdir -p ${artifact_dir}/share/icons/Adwaita | |
| cd ${artifact_dir}/share/icons/Adwaita | |
| mkdir -p 16x16/actions 24x24/actions 32x32/actions 48x48/actions 64x64/actions 96x96/actions scalable/actions | |
| mkdir -p 16x16/devices 24x24/devices 32x32/devices 48x48/devices 64x64/devices 96x96/devices scalable/devices | |
| mkdir -p 16x16/status 24x24/status 32x32/status 48x48/status 64x64/status 96x96/status scalable/status | |
| cd ${GITHUB_WORKSPACE} | |
| wget https://github.com/rtlewis1/GTK/archive/refs/heads/Material-Black-Colors-Desktop.zip | |
| unzip Material-Black-Colors-Desktop.zip 'GTK-Material-Black-Colors-Desktop/Material-Black-Cherry/**/*' | |
| mkdir -p ${artifact_dir}/share/themes | |
| mv ./GTK-Material-Black-Colors-Desktop/Material-Black-Cherry ${artifact_dir}/share/themes/Material-Black-Cherry | |
| cp -r ci/tree/. ${artifact_dir} | |
| cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/index.theme ${artifact_dir}/share/icons/Adwaita/index.theme | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/16x16/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/16x16/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/24x24/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/24x24/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/32x32/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/32x32/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/48x48/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/48x48/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/64x64/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/64x64/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/96x96/%.symbolic.png ${artifact_dir}/share/icons/Adwaita/96x96/%.symbolic.png || : | |
| cat "ci/used-icons.txt" | sed 's/\r$//' | xargs -I % cp ci/gtk-for-windows/gtk-nsis-pack/share/icons/Adwaita/scalable/%.svg ${artifact_dir}/share/icons/Adwaita/scalable/%.svg || : | |
| cd ${artifact_dir}/share/icons/Adwaita | |
| gtk-update-icon-cache . | |
| - name: Upload build (1) | |
| uses: haya14busa/action-cond@v1 | |
| id: buildname | |
| with: | |
| cond: ${{ matrix.mindeps == true }} | |
| if_true: "${{ matrix.buildtype }}-mindeps" | |
| if_false: "${{ matrix.buildtype }}" | |
| - name: Upload build (2) | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-windows-msys2-${{ steps.buildname.outputs.value }} | |
| path: build/artifactdir | |
| mac: | |
| name: macos-${{ matrix.buildtype }} | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| buildtype: [ Debug, RelWithDebInfo ] | |
| steps: | |
| - uses: actions/checkout@v1 | |
| with: | |
| submodules: true | |
| - name: Fetch CMake | |
| uses: lukka/get-cmake@latest | |
| - name: Fetch dependencies | |
| run: | | |
| brew install pkg-config | |
| brew install gtkmm3 | |
| brew install nlohmann-json | |
| brew install jpeg | |
| brew install opus | |
| brew install libsodium | |
| brew install spdlog | |
| brew install libhandy | |
| - name: Build | |
| run: | | |
| cmake -Bbuild -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} | |
| cmake --build build | |
| - name: Setup artifact files | |
| run: | | |
| artifact_dir=build/artifactdir/abaddon-${{ matrix.buildtype }}-${GITHUB_SHA::7} | |
| mkdir -p "${artifact_dir}" | |
| cp "${{ github.workspace }}/build/abaddon" "${artifact_dir}/abaddon" | |
| cp -r "${{ github.workspace }}/res/css" "${artifact_dir}/css" | |
| cp -r "${{ github.workspace }}/res/res" "${artifact_dir}/res" | |
| - name: Upload build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-macos-${{ matrix.buildtype }} | |
| path: build/artifactdir | |
| linux: | |
| name: linux-${{ matrix.buildtype }} | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| matrix: | |
| buildtype: [ Debug, RelWithDebInfo, MinSizeRel ] | |
| steps: | |
| - uses: actions/checkout@v1 | |
| with: | |
| submodules: true | |
| - name: Fetch CMake | |
| uses: lukka/get-cmake@latest | |
| - name: Fetch dependencies | |
| run: | | |
| sudo apt-get update | |
| mkdir deps | |
| cd deps | |
| git clone https://github.com/nlohmann/json | |
| cd json | |
| git checkout 55f93686c01528224f448c19128836e7df245f72 | |
| mkdir build | |
| cd build | |
| cmake .. -DJSON_BuildTests=OFF | |
| make | |
| sudo make install | |
| sudo apt-get install libgtkmm-3.0-dev | |
| sudo apt-get install libcurl4-gnutls-dev | |
| sudo apt-get install libopus-dev | |
| sudo apt-get install libsodium-dev | |
| sudo apt-get install libspdlog-dev | |
| sudo apt-get install libhandy-1-dev | |
| - name: Build | |
| run: | | |
| cmake -Bbuild -DCMAKE_BUILD_TYPE=${{ matrix.buildtype }} | |
| cmake --build build | |
| - name: Setup artifact files | |
| run: | | |
| artifact_dir=${{ runner.workspace }}/artifactdir/abaddon-${{ matrix.buildtype }}-${GITHUB_SHA::7} | |
| mkdir -p "${artifact_dir}" | |
| cp "${{ github.workspace }}/build/abaddon" "${artifact_dir}/abaddon" | |
| cp -r "${{ github.workspace }}/res/css" "${artifact_dir}/css" | |
| cp -r "${{ github.workspace }}/res/res" "${artifact_dir}/res" | |
| - name: Upload build | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-linux-${{ matrix.buildtype }} | |
| path: ${{ runner.workspace }}/artifactdir |