v50 fixes #929
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: | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| CI: | |
| runs-on: ubuntu-latest | |
| env: | |
| FOUNDRY_DIR: ${{ github.workspace }}/.foundry | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 20 | |
| cache: "npm" | |
| # ----------------------------- | |
| # System dependencies | |
| # ----------------------------- | |
| - name: Install host dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| flatpak flatpak-builder mutter \ | |
| git meson ninja-build gcc pkg-config \ | |
| libglib2.0-dev libgtk-4-dev | |
| # ----------------------------- | |
| # Build GNOME Foundry from source (Option B) | |
| # ----------------------------- | |
| - name: Clone and build GNOME Foundry | |
| run: | | |
| if [ ! -d "$FOUNDRY_DIR/install/bin" ]; then | |
| echo "Building Foundry from source..." | |
| git clone https://gitlab.gnome.org/GNOME/foundry.git "$FOUNDRY_DIR/src" | |
| meson setup "$FOUNDRY_DIR/build" "$FOUNDRY_DIR/src" \ | |
| --prefix="$FOUNDRY_DIR/install" | |
| ninja -C "$FOUNDRY_DIR/build" | |
| ninja -C "$FOUNDRY_DIR/build" install | |
| else | |
| echo "Foundry already built (cache hit)" | |
| fi | |
| echo "$FOUNDRY_DIR/install/bin" >> $GITHUB_PATH | |
| # ----------------------------- | |
| # Restore caches | |
| # ----------------------------- | |
| - name: Restore Flatpak dependencies | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: ~/.local/share/flatpak | |
| key: ${{ runner.os }}-flatpak-dependencies-${{ github.run_id }} | |
| restore-keys: | | |
| ${{ runner.os }}-flatpak-dependencies- | |
| - name: Restore .flatpak-builder | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: .flatpak-builder | |
| key: ${{ runner.os }}-flatpak-builder-${{ github.run_id }} | |
| restore-keys: | | |
| ${{ runner.os }}-flatpak-builder- | |
| - name: Restore .foundry | |
| uses: actions/cache/restore@v3 | |
| with: | |
| path: .foundry | |
| key: ${{ runner.os }}-foundry-${{ github.run_id }} | |
| restore-keys: | | |
| ${{ runner.os }}-foundry- | |
| # ----------------------------- | |
| # Headless GNOME runtime | |
| # ----------------------------- | |
| - run: | | |
| mutter --wayland --no-x11 --headless \ | |
| --wayland-display=wayland-0 \ | |
| --virtual-monitor 1280x720 > /tmp/mutter.log 2>&1 & | |
| # ----------------------------- | |
| # CI | |
| # ----------------------------- | |
| - run: make ci | |
| - run: cat /tmp/mutter.log | |
| # ----------------------------- | |
| # Save caches | |
| # ----------------------------- | |
| - name: Save Flatpak dependencies | |
| uses: actions/cache/save@v3 | |
| if: always() | |
| with: | |
| path: ~/.local/share/flatpak | |
| key: ${{ runner.os }}-flatpak-dependencies-${{ github.run_id }} | |
| - name: Save .flatpak-builder | |
| uses: actions/cache/save@v3 | |
| if: always() | |
| with: | |
| path: .flatpak-builder | |
| key: ${{ runner.os }}-flatpak-builder-${{ github.run_id }} | |
| - name: Save .foundry | |
| uses: actions/cache/save@v3 | |
| if: always() | |
| with: | |
| path: .foundry | |
| key: ${{ runner.os }}-foundry-${{ github.run_id }} |