From cc422e321e33f0e0f9fa085df71efbfd089bd914 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Tue, 16 Jan 2024 18:30:21 +0100 Subject: workflows/check-by-name: Pin nixpkgs-check-by-name tool Before this, the tool for CI would update when nixos-unstable updated, which is kind of terrible because you don't know when it happens, and it might break master. In fact, the tooling _right now_ has a serious bug and shouldn't be used! This PR addresses this by _pinning_ the tooling in Nixpkgs itself. Updating the tooling now requires two PRs: - The first PR to update the tooling source - (wait for Hydra to build and publish it in nixos-unstable) - The second PR to update the pinned tooling In turn you know exactly when the changes are going to take effect. This change however has additional benefits: - It makes CI more reproducible, because it doesn't depend on the state of nixos-unstable anymore - Updates to the tooling can be tested with the workflow itself, because PRs that update the pinned tool will be tested on the updated version - CI gets a sizable speed boost, because there's no need to download and evaluate a channel anymore - It makes it more realistic to move the source of the tool into a separate repository - It removes the brittle branch-specific logic that was previously needed to ensure that release branches use their own version of the tooling. --- .github/workflows/check-by-name.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github/workflows') diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml index a9a6181a47bdf..9152a2a61708e 100644 --- a/.github/workflows/check-by-name.yml +++ b/.github/workflows/check-by-name.yml @@ -92,7 +92,7 @@ jobs: echo "base=$base" >> "$GITHUB_ENV" - uses: cachix/install-nix-action@7ac1ec25491415c381d9b62f0657c7a028df52a7 # v24 - name: Fetching the tool - run: pkgs/test/nixpkgs-check-by-name/scripts/fetch-tool.sh "$GITHUB_BASE_REF" result + run: pkgs/test/nixpkgs-check-by-name/scripts/fetch-pinned-tool.sh result - name: Running nixpkgs-check-by-name run: | if result/bin/nixpkgs-check-by-name --base "$base" .; then -- cgit 1.4.1