2021-06-27 12:10:34 +01:00
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch get’ s merged back into its base branch.
2021-06-30 23:44:37 +01:00
name : "Periodic Merges (24h)"
2021-06-27 12:10:34 +01:00
on :
schedule :
# * is a special character in YAML so you have to quote this string
2021-07-01 12:16:36 +01:00
# Merge every 24 hours
2021-06-30 23:44:37 +01:00
- cron : '0 0 * * *'
2023-12-02 18:47:53 +00:00
workflow_dispatch :
2021-06-27 12:10:34 +01:00
2022-07-08 18:53:38 +01:00
permissions :
contents : read
2021-06-27 12:10:34 +01:00
jobs :
periodic-merge :
2022-07-08 18:53:38 +01:00
permissions :
contents : write # for devmasx/merge-branch to merge branches
2022-09-11 08:01:47 +01:00
pull-requests : write # for peter-evans/create-or-update-comment to create or update comment
2021-06-27 12:10:34 +01:00
if : github.repository_owner == 'NixOS'
runs-on : ubuntu-latest
strategy :
# don't fail fast, so that all pairs are tried
fail-fast : false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel : 1
matrix :
pairs :
- from : master
into : haskell-updates
2023-05-22 20:14:06 +01:00
- from : release-23.05
into : staging-next-23.05
- from : staging-next-23.05
into : staging-23.05
2023-11-21 19:28:43 +00:00
- from : release-23.11
into : staging-next-23.11
- from : staging-next-23.11
into : staging-23.11
2021-06-27 12:10:34 +01:00
name : ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps :
2023-11-28 03:28:58 +00:00
- uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
2021-06-27 12:10:34 +01:00
- name : ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
2023-11-28 03:28:58 +00:00
uses : devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
2021-06-27 12:10:34 +01:00
with :
type : now
from_branch : ${{ matrix.pairs.from }}
target_branch : ${{ matrix.pairs.into }}
github_token : ${{ secrets.GITHUB_TOKEN }}
- name : Comment on failure
2023-11-28 03:28:58 +00:00
uses : peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
2021-06-27 12:10:34 +01:00
if : ${{ failure() }}
with :
issue-number : 105153
body : |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).