From fb53a5cad65deb7bbeb17f383fc61ea5d00b3149 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Thu, 12 Mar 2026 14:39:18 -0700 Subject: [PATCH] CI: Replace Garnix with GHA Sorry Garnix! --- .config/nextest.toml | 7 +++---- .github/workflows/ci.yaml | 39 +++++++++++++++++++++++++++++++++++++++ flake.nix | 6 ------ garnix.yaml | 10 ---------- 4 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/ci.yaml delete mode 100644 garnix.yaml diff --git a/.config/nextest.toml b/.config/nextest.toml index 8914ba0c..30a5f62c 100644 --- a/.config/nextest.toml +++ b/.config/nextest.toml @@ -13,10 +13,9 @@ max-threads = 1 failure-output = "immediate-final" # Do not cancel the test run on the first failure. fail-fast = false -# The Garnix CI builders run in some weird virtual filesystem that messes with -# `notify`. Even with sleeps before writing and poll-based notifications, -# sometimes `notify` misses events (this is rare, maybe 1 in 50 test runs). -# Retry tests if they fail in CI to mitigate this. +# CI builders are generally unreliable. Even with sleeps before writing and +# poll-based notifications, sometimes `notify` misses events (this is rare, +# maybe 1 in 50 test runs). Retry tests if they fail in CI to mitigate this. # # See also the `$TIMEOUT_MULT` environment variable. retries = 1 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 00000000..6b5d77d9 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,39 @@ +--- +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + ci: + name: nix flake check (${{ matrix.platform.runner }}) + runs-on: ${{ matrix.platform.runner }} + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + platform: + - runner: ubuntu-latest + - runner: macos-latest + steps: + - name: Checkout code + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + + - uses: cachix/install-nix-action@7be5dee1421f63d07e71ce6e0a9f8a4b07c2a487 # v31.6.1 + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + extra_nix_config: | + accept-flake-config = true + + - name: nix flake check + run: nix flake check --print-build-logs diff --git a/flake.nix b/flake.nix index 635dc9f4..ec278f14 100644 --- a/flake.nix +++ b/flake.nix @@ -21,12 +21,6 @@ }; }; - nixConfig = { - extra-substituters = ["https://cache.garnix.io"]; - extra-trusted-substituters = ["https://cache.garnix.io"]; - extra-trusted-public-keys = ["cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="]; - }; - outputs = inputs @ { self, nixpkgs, diff --git a/garnix.yaml b/garnix.yaml deleted file mode 100644 index 179782f8..00000000 --- a/garnix.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# See: https://garnix.io/docs/yaml_config -builds: - include: - - devShells.x86_64-linux.default - - devShells.aarch64-darwin.default - - 'packages.x86_64-linux.*' - - 'packages.aarch64-darwin.*' - - 'checks.x86_64-linux.*' - - 'checks.aarch64-darwin.*'