mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
workflows/periodic-merge: merge merge-base into haskell-updates
Since haskell-updates is based on master, but merges into staging, we need to base it on a merge-base of staging and master. See #361143. I'm a bit worried that the information GitHub uses for displaying Pull-Requests becomes stale and this will “add” commits to the PR compared to the base anyways. We'll find out, I suppose.
This commit is contained in:
parent
8ec53b9596
commit
f9f5325ad9
2 changed files with 59 additions and 2 deletions
2
.github/workflows/periodic-merge-24h.yml
vendored
2
.github/workflows/periodic-merge-24h.yml
vendored
|
|
@ -33,8 +33,6 @@ jobs:
|
|||
max-parallel: 1
|
||||
matrix:
|
||||
pairs:
|
||||
- from: master
|
||||
into: haskell-updates
|
||||
- from: release-24.11
|
||||
into: staging-next-24.11
|
||||
- from: staging-next-24.11
|
||||
|
|
|
|||
59
.github/workflows/periodic-merge-haskell-updates.yml
vendored
Normal file
59
.github/workflows/periodic-merge-haskell-updates.yml
vendored
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# This action periodically merges a merge base of master and staging into haskell-updates.
|
||||
#
|
||||
# haskell-updates is based on master (so there are little unrelated failures and the cache
|
||||
# is already prepopulated), but needs to target staging due to the high amount of rebuilds
|
||||
# it typically causes. To prevent unrelated commits clattering the GitHub UI, we need to
|
||||
# take care to only merge the merge-base of master and staging into haskell-updates.
|
||||
#
|
||||
# See also https://github.com/NixOS/nixpkgs/issues/361143.
|
||||
|
||||
name: "Periodic Merges (haskell-updates)"
|
||||
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# * is a special character in YAML so you have to quote this string
|
||||
# Merge every 24 hours
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
periodic-merge:
|
||||
permissions:
|
||||
contents: write # for devmasx/merge-branch to merge branches
|
||||
pull-requests: write # for peter-evans/create-or-update-comment to create or update comment
|
||||
if: github.repository_owner == 'NixOS'
|
||||
runs-on: ubuntu-latest
|
||||
name: git merge-base master staging → haskell-updates
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Note: If we want to do something similar for more branches, we can move this into a
|
||||
# separate job, so we can use the matrix strategy again.
|
||||
- name: Find merge base of master and staging
|
||||
id: find_merge_base_step
|
||||
run: |
|
||||
merge_base="$(git merge-base refs/remotes/origin/master refs/remotes/origin/staging)"
|
||||
echo "Found merge base: $merge_base" >&2
|
||||
echo "merge_base=$merge_base" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: git merge-base master staging → haskell-updates
|
||||
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
|
||||
with:
|
||||
type: now
|
||||
head_to_merge: ${{ steps.find_merge_base_step.outputs.merge_base }}
|
||||
target_branch: haskell-updates
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Comment on failure
|
||||
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
issue-number: 367709
|
||||
body: |
|
||||
Periodic merge from `${{ steps.find_merge_base_step.outputs.merge_base }}` into `haskell-updates` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
|
||||
Loading…
Add table
Add a link
Reference in a new issue