mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-14 19:58:30 +01:00
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. |
||
|---|---|---|
| .. | ||
| .editorconfig | ||
| .gitignore | ||
| .npmrc | ||
| check-cherry-picks.md | ||
| commits.js | ||
| labels.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| run | ||
| shell.nix | ||
| withRateLimit.js | ||
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-shellin./ci/github-script. - Ensure
ghis 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".