Skip to content

Commit

Permalink
Create Nixpkgs PRs with a separate workflow
Browse files Browse the repository at this point in the history
I didn't like how it would print for all PRs unnecessarily

Furthermore it's cleaner if we trigger it based on when a release is published,
instead of depending the build job
  • Loading branch information
infinisil committed Apr 18, 2024
1 parent 8cb18f7 commit 9801aa7
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 43 deletions.
43 changes: 0 additions & 43 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,46 +57,3 @@ jobs:
} > $GITHUB_STEP_SUMMARY
env:
GH_TOKEN: ${{ github.token }}

nixpkgs-pr:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}
needs: build
steps:
- uses: actions/checkout@v4
with:
repository: NixOS/nixpkgs

- name: Update nixpkgs-check-by-name in Nixpkgs
run: |
echo "rev=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "before=$(<pkgs/test/check-by-name/pinned-version.txt)" >> $GITHUB_ENV
# We run bash explicitly instead of using the files shebang,
# because the shebang is using nix-shell with dependencies we already have by default
bash pkgs/test/check-by-name/update-pinned-tool.sh
echo "after=$(<pkgs/test/check-by-name/pinned-version.txt)" >> $GITHUB_ENV
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
# To trigger CI for automated PRs, we use a separate machine account
# See https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
# and https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#push-pull-request-branches-to-a-fork
token: ${{ secrets.MACHINE_USER_PAT }}
push-to-fork: infinixbot/nixpkgs
committer: infinixbot <[email protected]>
author: infinixbot <[email protected]>
branch: update/nixpkgs-check-by-name
commit-message: |
nixpkgs-check-by-name: ${{ env.before }} -> ${{ env.after }}
https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/${{ env.after }}
title: "nixpkgs-check-by-name: ${{ env.before }} -> ${{ env.after }}"
body: >
This is an automated PR to update the version of [nixpkgs-check-by-name](https://github.com/NixOS/nixpkgs-check-by-name),
which is used by CI to [check the `pkgs/by-name`](https://github.com/NixOS/nixpkgs/tree/${{ env.rev }}/pkgs/by-name#validation) directory.
The update was performed by running [`pkgs/test/check-by-name/update-pinned-tool.sh`](https://github.com/NixOS/nixpkgs/tree/${{ env.rev }}/pkgs/test/check-by-name#update-pinned-toolsh).
This PR updates the tool to [version ${{ env.after }}](https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/${{ env.after }}).
45 changes: 45 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
on:
release:
types: [published]

jobs:
create-pr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: NixOS/nixpkgs

- name: Update nixpkgs-check-by-name in Nixpkgs
run: |
echo "rev=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "before=$(<pkgs/test/check-by-name/pinned-version.txt)" >> $GITHUB_ENV
# We run bash explicitly instead of using the files shebang,
# because the shebang is using nix-shell with dependencies we already have by default
bash pkgs/test/check-by-name/update-pinned-tool.sh
echo "after=$(<pkgs/test/check-by-name/pinned-version.txt)" >> $GITHUB_ENV
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
# To trigger CI for automated PRs, we use a separate machine account
# See https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
# and https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#push-pull-request-branches-to-a-fork
token: ${{ secrets.MACHINE_USER_PAT }}
push-to-fork: infinixbot/nixpkgs
committer: infinixbot <[email protected]>
author: infinixbot <[email protected]>
branch: update/nixpkgs-check-by-name
commit-message: |
nixpkgs-check-by-name: ${{ env.before }} -> ${{ env.after }}
https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/${{ env.after }}
title: "nixpkgs-check-by-name: ${{ env.before }} -> ${{ env.after }}"
body: >
This is an automated PR to update the version of [nixpkgs-check-by-name](https://github.com/NixOS/nixpkgs-check-by-name),
which is used by CI to [check the `pkgs/by-name`](https://github.com/NixOS/nixpkgs/tree/${{ env.rev }}/pkgs/by-name#validation) directory.
The update was performed by running [`pkgs/test/check-by-name/update-pinned-tool.sh`](https://github.com/NixOS/nixpkgs/tree/${{ env.rev }}/pkgs/test/check-by-name#update-pinned-toolsh).
This PR updates the tool to [version ${{ env.after }}](https://github.com/NixOS/nixpkgs-check-by-name/releases/tag/${{ env.after }}).

0 comments on commit 9801aa7

Please sign in to comment.