mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-25 05:06:24 +03:00

This brings the internal package more in line with how the nixpkgs package is built. It also handles recursive dependencies better than the current system.
55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
on: [push, pull_request]
|
|
name: Nix
|
|
jobs:
|
|
required:
|
|
name: "Required Checks: Nix"
|
|
runs-on: namespace-profile-ghostty-sm
|
|
needs:
|
|
- check-zig-cache-hash
|
|
steps:
|
|
- id: status
|
|
name: Determine status
|
|
run: |
|
|
results=$(tr -d '\n' <<< '${{ toJSON(needs.*.result) }}')
|
|
if ! grep -q -v -E '(failure|cancelled)' <<< "$results"; then
|
|
result="failed"
|
|
else
|
|
result="success"
|
|
fi
|
|
{
|
|
echo "result=${result}"
|
|
echo "results=${results}"
|
|
} | tee -a "$GITHUB_OUTPUT"
|
|
- if: always() && steps.status.outputs.result != 'success'
|
|
name: Check for failed status
|
|
run: |
|
|
echo "One or more required build workflows failed: ${{ steps.status.outputs.results }}"
|
|
exit 1
|
|
|
|
check-zig-cache-hash:
|
|
if: github.repository == 'ghostty-org/ghostty'
|
|
runs-on: namespace-profile-ghostty-sm
|
|
env:
|
|
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
|
|
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
- name: Setup Cache
|
|
uses: namespacelabs/nscloud-cache-action@v1.2.0
|
|
with:
|
|
path: |
|
|
/nix
|
|
/zig
|
|
- name: Setup Nix
|
|
uses: cachix/install-nix-action@v30
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
- uses: cachix/cachix-action@v15
|
|
with:
|
|
name: ghostty
|
|
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
|
useDaemon: false # sometimes fails on short jobs
|
|
- name: Check Zig cache
|
|
run: nix develop -c ./nix/build-support/check-zig-cache.sh
|