If the change of a PR has already been merged to the target branch elsewhere, the PR will not be auto-closed by GitHub - and will still show the same original diff. Still, the temporary merge commit is actually empty. This causes all kinds of strange CI behavior, from not showing rebuilds to not pinging maintainers. We check the merge commit during labeling anyway, to see whether a merge conflict is present. It's easy to just look a the number of affected files in this merge commit - and if there are none, we can just automatically close the PR as no longer relevant.
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".