mac: fix missing gsettings schema in bundle #19
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: Stylecheck and CI | |
| on: | |
| push: | |
| branches: | |
| - '*' | |
| - '!win32-*' | |
| - '!freebsd-*' | |
| tags: [ '*' ] | |
| pull_request: | |
| branches: [ main ] | |
| env: | |
| LANG: en_US.UTF-8 | |
| DEBIAN_FRONTEND: noninteractive | |
| jobs: | |
| stylecheck: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install preliminary dependencies | |
| run: sudo apt-get update -y && sudo apt-get install curl gnupg apt-transport-https -y | |
| - name: Add clang 11.0 to apt sources | |
| run: echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main" | sudo tee -a /etc/apt/sources.list | |
| - name: Add LLVM apt key | |
| run: curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
| - name: Install dependencies | |
| run: sudo apt-get update -y && sudo apt-get install git clang-format-18 -y | |
| - name: Style checker | |
| run: bash scripts/stylecheck.sh | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - container: debian:trixie | |
| cxx: g++-13 | |
| cc: gcc | |
| - container: ubuntu:noble | |
| cxx: g++-13 | |
| cc: gcc | |
| target: | |
| - all | |
| - dune3d_py.so | |
| runs-on: ubuntu-latest | |
| container: ${{ matrix.os.container }} | |
| needs: stylecheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: generate locales | |
| run: | | |
| apt-get update | |
| apt-get install -y locales | |
| locale-gen ${{ env.LANG }} | |
| - name: Install dependencies | |
| run: apt-get install meson build-essential meson libglm-dev libocct-ocaf-dev cmake pkg-config libgtkmm-4.0-dev libgtkmm-4.0-dev uuid-dev libeigen3-dev libspnav-dev git python3-gi-cairo gir1.2-rsvg-2.0 ${{ matrix.os.cxx }} libocct-data-exchange-dev -y | |
| - name: Install python dependencies | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: apt-get install pybind11-dev -y | |
| - name: Build | |
| run: | | |
| mkdir ../build | |
| CXX=${{ matrix.os.cxx }} CC=${{ matrix.os.cc }} meson setup ../build | |
| ninja -C ../build ${{ matrix.target }} | |
| - name: Test python module | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: python3 -c 'import sys; sys.path.append("../build"); import dune3d_py' | |
| build-arch: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| - all | |
| - dune3d_py.so | |
| runs-on: ubuntu-latest | |
| container: archlinux:base-devel | |
| needs: stylecheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install updates | |
| run: pacman -Syu --noconfirm | |
| - name: Install dependencies | |
| run: pacman -Sy --needed --noconfirm gtkmm-4.0 cairomm librsvg libspnav opencascade glm python cmake meson eigen git python-gobject python-cairo | |
| - name: Install python dependencies | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: pacman -S --needed --noconfirm pybind11 | |
| - name: Build | |
| run: | | |
| mkdir ../build | |
| meson setup ../build | |
| ninja -C ../build ${{ matrix.target }} | |
| - name: Test python module | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: python3 -c 'import sys; sys.path.append("../build"); import dune3d_py' | |
| build-arch-clang: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| - all | |
| - dune3d_py.so | |
| runs-on: ubuntu-latest | |
| container: archlinux:base-devel | |
| needs: stylecheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install updates | |
| run: pacman -Syu --noconfirm | |
| - name: Install dependencies | |
| run: pacman -Sy --needed --noconfirm gtkmm-4.0 cairomm librsvg libspnav opencascade glm python cmake meson eigen git python-gobject python-cairo clang | |
| - name: Install python dependencies | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: pacman -S --needed --noconfirm pybind11 | |
| - name: Build | |
| run: | | |
| mkdir ../build | |
| CC=clang CXX=clang meson setup ../build | |
| ninja -C ../build ${{ matrix.target }} | |
| - name: Test python module | |
| if: ${{ matrix.target == 'dune3d_py.so' }} | |
| run: python3 -c 'import sys; sys.path.append("../build"); import dune3d_py' | |
| build-nix: | |
| strategy: | |
| fail-fast: false | |
| runs-on: ubuntu-latest | |
| needs: stylecheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: DeterminateSystems/magic-nix-cache-action@main | |
| - name: Build | |
| run: nix build . | |
| build-nix-macos: | |
| strategy: | |
| fail-fast: false | |
| runs-on: macos-13 | |
| needs: stylecheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: DeterminateSystems/magic-nix-cache-action@main | |
| - name: Build | |
| run: nix build . |