gsu #76
Workflow file for this run
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: ci | |
| on: | |
| push: {branches-ignore: [latest], tags: ['*']} | |
| pull_request: | |
| jobs: | |
| ##### deb linux ##### | |
| deb: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - rel | |
| - dbg | |
| linux_image: | |
| - arm64v8/debian:trixie | |
| - debian:trixie | |
| runs-on: ${{ (startsWith(matrix.linux_image, 'arm') && 'ubuntu-24.04-arm') || 'ubuntu-latest' }} | |
| container: ${{ matrix.linux_image }} | |
| name: linux - ${{ matrix.linux_image }} | ${{ matrix.config }} | |
| steps: | |
| - name: install build tools | |
| run: | | |
| apt --quiet update --yes | |
| apt --quiet install --yes build-essential cmake pkg-config git curl zip unzip tar | |
| - name: install build deps | |
| run: | | |
| apt --quiet install --yes libxmu-dev libxi-dev libgl-dev libgles-dev libgtk-4-dev libpulse-dev | |
| - name: git clone | |
| uses: myci-actions/checkout@main | |
| with: | |
| submodules: true # non-recursive, no remote | |
| - name: install vcpkg | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git vcpkg-installation | |
| (cd vcpkg-installation; ./bootstrap-vcpkg.sh) | |
| - name: set VCPKG_ROOT | |
| uses: myci-actions/export-env-var@main | |
| with: {name: VCPKG_ROOT, value: "$(pwd)/vcpkg-installation"} | |
| - name: add VCPKG_ROOT to PATH | |
| uses: myci-actions/export-env-var@main | |
| with: {name: PATH, value: "$PATH:$VCPKG_ROOT"} | |
| - name: generate cmake build files | |
| run: | | |
| cmake build/cmake --preset native | |
| - name: build | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} | |
| - name: test | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} --target test | |
| ##### macosx ##### | |
| macosx: | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - rel | |
| - dbg | |
| steps: | |
| - name: workaround python2 and python3 issue when upgrading python | |
| run : | | |
| rm -rf /usr/local/bin/2to3* | |
| rm -rf /usr/local/bin/idle3* | |
| rm -rf /usr/local/bin/pydoc3* | |
| rm -rf /usr/local/bin/python3 | |
| rm -rf /usr/local/bin/python3-config | |
| rm -rf /usr/local/bin/python3* | |
| rm -rf /usr/local/bin/python3*-config | |
| - name: git clone | |
| uses: myci-actions/checkout@main | |
| with: | |
| submodules: true # non-recursive, no remote | |
| - name: install vcpkg | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git vcpkg-installation | |
| (cd vcpkg-installation; ./bootstrap-vcpkg.sh) | |
| - name: set VCPKG_ROOT | |
| uses: myci-actions/export-env-var@main | |
| with: {name: VCPKG_ROOT, value: "$(pwd)/vcpkg-installation"} | |
| - name: add VCPKG_ROOT to PATH | |
| uses: myci-actions/export-env-var@main | |
| with: {name: PATH, value: "$PATH:$VCPKG_ROOT"} | |
| - name: install ci tools | |
| run: brew install cmake | |
| - name: generate cmake build files | |
| run: | | |
| cmake build/cmake --preset native | |
| - name: build | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} | |
| - name: test | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} --target test | |
| ##### windows ##### | |
| windows: | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: powershell | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - rel | |
| - dbg | |
| arch: | |
| - Win32 | |
| - x64 | |
| name: windows | |
| steps: | |
| - name: git clone | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true # non-recursive, no remote | |
| - name: set VCPKG_ROOT | |
| uses: myci-actions/export-env-var-powershell@main | |
| # accorging to github actions windows image docs, it should define VCPKG_INSTALLATION_ROOT env var, | |
| # but on practice it is not set, so specify vcpkg root path explicitly | |
| with: {name: VCPKG_ROOT, value: "C:/vcpkg/"} | |
| - name: generate cmake build files | |
| run: | | |
| cmake build/cmake --preset native -A ${{ matrix.arch }} | |
| - name: build | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} | |
| - name: test | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ${{ matrix.config }} --target test | |
| ##### ios ##### | |
| ios: | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - rel | |
| - dbg | |
| steps: | |
| - name: workaround python2 and python3 issue when upgrading python | |
| run : | | |
| rm -rf /usr/local/bin/2to3* | |
| rm -rf /usr/local/bin/idle3* | |
| rm -rf /usr/local/bin/pydoc3* | |
| rm -rf /usr/local/bin/python3 | |
| rm -rf /usr/local/bin/python3-config | |
| rm -rf /usr/local/bin/python3* | |
| rm -rf /usr/local/bin/python3*-config | |
| - name: git clone | |
| uses: myci-actions/checkout@main | |
| with: | |
| submodules: true # non-recursive, no remote | |
| - name: install vcpkg | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git vcpkg-installation | |
| (cd vcpkg-installation; ./bootstrap-vcpkg.sh) | |
| - name: set VCPKG_ROOT | |
| uses: myci-actions/export-env-var@main | |
| with: {name: VCPKG_ROOT, value: "$(pwd)/vcpkg-installation"} | |
| - name: add VCPKG_ROOT to PATH | |
| uses: myci-actions/export-env-var@main | |
| with: {name: PATH, value: "$PATH:$VCPKG_ROOT"} | |
| - name: install ci tools | |
| run: brew install cmake | |
| - name: generate cmake build files | |
| run: | | |
| cmake build/cmake --preset ios | |
| - name: build | |
| run: | | |
| cd build/cmake | |
| cmake --build --preset ios-${{ matrix.config }} | |
| # - name: test | |
| # run: | | |
| # cd build/cmake | |
| # cmake --build --preset ios-${{ matrix.config }} --target test |