Skip to content

gsu

gsu #76

Workflow file for this run

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