diff options
author | Silvan Mosberger <contact@infinisil.com> | 2023-09-05 16:25:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-05 16:25:27 +0200 |
commit | ad610766246f0dc3632b26255d7488943495d909 (patch) | |
tree | 2f9e26b8ecb80c1f5fcd399c693b98e6f584395e /.github | |
parent | be1b5c213f7074235e6016b1d20375fbcd7b9e66 (diff) | |
parent | 77d50b03e4388f22e1f36a2621a9287a12a138be (diff) | |
download | nixlib-ad610766246f0dc3632b26255d7488943495d909.tar nixlib-ad610766246f0dc3632b26255d7488943495d909.tar.gz nixlib-ad610766246f0dc3632b26255d7488943495d909.tar.bz2 nixlib-ad610766246f0dc3632b26255d7488943495d909.tar.lz nixlib-ad610766246f0dc3632b26255d7488943495d909.tar.xz nixlib-ad610766246f0dc3632b26255d7488943495d909.tar.zst nixlib-ad610766246f0dc3632b26255d7488943495d909.zip |
Merge pull request #237439 from tweag/spp-1
[RFC 140] Simple package paths, part 1b: Enabling the directory structure
Diffstat (limited to '.github')
-rw-r--r-- | .github/CODEOWNERS | 3 | ||||
-rw-r--r-- | .github/workflows/check-by-name.yml | 49 |
2 files changed, 52 insertions, 0 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6153a641e88f..9a3543bb80d7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -51,6 +51,9 @@ # pkgs/by-name /pkgs/test/nixpkgs-check-by-name @infinisil +/pkgs/by-name/README.md @infinisil +/pkgs/top-level/by-name-overlay.nix @infinisil +/.github/workflows/check-by-name.nix @infinisil # Nixpkgs build-support /pkgs/build-support/writers @lassulus @Profpatsch diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml new file mode 100644 index 000000000000..9622634fcffd --- /dev/null +++ b/.github/workflows/check-by-name.yml @@ -0,0 +1,49 @@ +# Checks pkgs/by-name (see pkgs/by-name/README.md) +# using the nixpkgs-check-by-name tool (see pkgs/test/nixpkgs-check-by-name) +name: Check pkgs/by-name + +# The pre-built tool is fetched from a channel, +# making it work predictable on all PRs +on: pull_request + +# The tool doesn't need any permissions, it only outputs success or not based on the checkout +permissions: {} + +jobs: + check: + # This is x86_64-linux, for which the tool is always prebuilt on the nixos-* channels, + # as specified in nixos/release-combined.nix + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + - name: Determining channel to use for dependencies + run: | + echo "Determining which channel to use for PR base branch $GITHUB_BASE_REF" + if [[ "$GITHUB_BASE_REF" =~ ^(release|staging|staging-next)-([0-9][0-9]\.[0-9][0-9])$ ]]; then + # Use the release channel for all PRs to release-XX.YY, staging-XX.YY and staging-next-XX.YY + channel=nixos-${BASH_REMATCH[2]} + echo "PR is for a release branch, using release channel $channel" + else + # Use the nixos-unstable channel for all other PRs + channel=nixos-unstable + echo "PR is for a non-release branch, using unstable channel $channel" + fi + echo "channel=$channel" >> "$GITHUB_ENV" + - name: Fetching latest version of channel + run: | + echo "Fetching latest version of channel $channel" + # This is probably the easiest way to get Nix to output the path to a downloaded channel! + nixpkgs=$(nix-instantiate --find-file nixpkgs -I nixpkgs=channel:"$channel") + # This file only exists in channels + rev=$(<"$nixpkgs"/.git-revision) + echo "Channel $channel is at revision $rev" + echo "nixpkgs=$nixpkgs" >> "$GITHUB_ENV" + echo "rev=$rev" >> "$GITHUB_ENV" + - name: Fetching pre-built nixpkgs-check-by-name from the channel + run: | + echo "Fetching pre-built nixpkgs-check-by-name from channel $channel at revision $rev" + # Passing --max-jobs 0 makes sure that we won't build anything + nix-build "$nixpkgs" -A tests.nixpkgs-check-by-name --max-jobs 0 + - name: Running nixpkgs-check-by-name + run: result/bin/nixpkgs-check-by-name . |