nixpkgs/ci/github-script
Wolfgang Walther 0dff5ad6c5
workflows/check: use regular checkout
The filtered checkout we used before was a nice idea, but only worked
for small numbers of commits in a PR. It would fetch the whole history
initially, but only fetch objects on demand. This turns out to be much
too slow in a PR with 18 commits, regularly hitting the 10 minute
timeout, even when running it locally.

The new approach uses regular checkouts again. In contrast to the old
style, before we switched to the filtered checkout, this only fetches
exactly the commits we need - and all of them at once. This is
significantly faster than both other approaches, and scales much better.
A bigger number of commits doesn't have much of an effect, if any at
all.
2025-08-13 14:02:39 +02:00
..
.editorconfig ci/github-script: default to commonjs 2025-07-14 10:35:18 +02:00
.gitignore ci/github-script/commits: init from ci/check-cherry-picks 2025-07-16 11:50:13 +02:00
.npmrc ci/github-script: use real @actions/core 2025-07-15 15:09:02 +02:00
check-cherry-picks.md ci/github-script/commits: shorten and clarify review comment 2025-07-16 15:47:19 +02:00
commits.js workflows/check: use regular checkout 2025-08-13 14:02:39 +02:00
labels.js ci/github-script/labels: limit cutoff to max 1 day 2025-07-20 21:53:21 +02:00
package-lock.json ci/github-script: use real @actions/core 2025-07-15 15:09:02 +02:00
package.json ci/github-script: use real @actions/core 2025-07-15 15:09:02 +02:00
README.md ci/github-script/commits: init from ci/check-cherry-picks 2025-07-16 11:50:13 +02:00
run ci/github-script/commits: init from ci/check-cherry-picks 2025-07-16 11:50:13 +02:00
shell.nix ci/github-script: add gh dependency to dev shell 2025-07-15 12:19:41 +02:00
withRateLimit.js ci/github-script/commits: init from ci/check-cherry-picks 2025-07-16 11:50:13 +02:00

GitHub specific CI scripts

This folder contains actions/github-script-based JavaScript code. It provides a nix-shell environment to run and test these actions locally.

To run any of the scripts locally:

  • Enter nix-shell in ./ci/github-script.
  • Ensure gh is authenticated.

Check commits

Run ./run commits OWNER REPO PR, where OWNER is your username or "NixOS", REPO is the name of your fork or "nixpkgs" and PR is the number of the pull request to check.

Labeler

Run ./run labels OWNER REPO, where OWNER is your username or "NixOS" and REPO the name of your fork or "nixpkgs".