Repository navigation
build: pin ghostty e2c782d13f #34
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: [master, "release/**"] | |
| pull_request: | |
| # `edited` covers a retargeted base, which happens to every stacked PR | |
| # once the one below it merges. | |
| types: [opened, synchronize, reopened, edited] | |
| branches: [master, "release/**", "stack/ghostty-*"] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check: | |
| name: ${{ matrix.name }} | |
| runs-on: ${{ matrix.runner }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: macOS aarch64 | |
| runner: namespace-profile-libghostty-mac | |
| flake_check: true | |
| - name: Linux aarch64 | |
| runner: namespace-profile-linux-aarch64-sm | |
| flake_check: true | |
| - name: Linux x86_64 | |
| runner: namespace-profile-linux-x86-sm | |
| flake_check: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Namespace cache | |
| uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1.4.3 | |
| if: runner.os == 'Linux' | |
| with: | |
| cache: | | |
| nix | |
| rust | |
| - name: Setup Namespace cache | |
| uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1.4.3 | |
| if: runner.os == 'macOS' | |
| with: | |
| cache: | | |
| xcode | |
| rust | |
| - name: Install Nix | |
| uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6 | |
| with: | |
| nix_path: nixpkgs=channel:nixos-unstable | |
| - name: Use Ghostty binary cache | |
| uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17 | |
| with: | |
| name: ghostty | |
| skipPush: true | |
| - name: Build package derivation | |
| run: nix build .#default --print-build-logs | |
| - name: Run flake checks | |
| if: matrix.flake_check | |
| run: nix flake check --print-build-logs | |
| # Exercises the vendored iOS xcframework build path, which needs a | |
| # macOS host with the real Xcode toolchain (the dev shell strips the | |
| # Nix SDK wrappers so zig detects the system SDKs). | |
| - name: Check iOS vendored build | |
| if: runner.os == 'macOS' | |
| run: nix develop -c cargo check --locked -p libghostty-vt-sys --target aarch64-apple-ios | |
| # The examples are their own workspace, so the flake checks above never | |
| # build them. `--locked` also fails if example/Cargo.lock is stale. | |
| - name: Build examples | |
| run: nix develop -c cargo build --locked --manifest-path example/Cargo.toml --workspace | |
| miri: | |
| name: Linux Miri | |
| runs-on: namespace-profile-linux-x86-sm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Namespace cache | |
| uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1.4.3 | |
| with: | |
| cache: | | |
| nix | |
| rust | |
| - name: Install Nix | |
| uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6 | |
| with: | |
| nix_path: nixpkgs=channel:nixos-unstable | |
| - name: Miri soundness checks | |
| run: nix run .#miri |