23.11 is Tapir
[NixPkgs.git] / .github / workflows / periodic-merge-24h.yml
blobdd0c1a233300394660140efd5e0a22e235792f81
1 # This action periodically merges base branches into staging branches.
2 # This is done to
3 #  * prevent conflicts or rather resolve them early
4 #  * make all potential breakage happen on the staging branch
5 #  * and make sure that all major rebuilds happen before the staging
6 #    branch get’s merged back into its base branch.
8 name: "Periodic Merges (24h)"
11 on:
12   schedule:
13     # * is a special character in YAML so you have to quote this string
14     # Merge every 24 hours
15     - cron:  '0 0 * * *'
17 permissions:
18   contents: read
20 jobs:
21   periodic-merge:
22     permissions:
23       contents: write  # for devmasx/merge-branch to merge branches
24       pull-requests: write  # for peter-evans/create-or-update-comment to create or update comment
25     if: github.repository_owner == 'NixOS'
26     runs-on: ubuntu-latest
27     strategy:
28       # don't fail fast, so that all pairs are tried
29       fail-fast: false
30       # certain branches need to be merged in order, like master->staging-next->staging
31       # and disabling parallelism ensures the order of the pairs below.
32       max-parallel: 1
33       matrix:
34         pairs:
35           - from: master
36             into: haskell-updates
37           - from: release-22.11
38             into: staging-next-22.11
39           - from: staging-next-22.11
40             into: staging-22.11
41           - from: release-23.05
42             into: staging-next-23.05
43           - from: staging-next-23.05
44             into: staging-23.05
45     name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
46     steps:
47       - uses: actions/checkout@v3
49       - name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
50         uses: devmasx/merge-branch@1.4.0
51         with:
52           type: now
53           from_branch: ${{ matrix.pairs.from }}
54           target_branch: ${{ matrix.pairs.into }}
55           github_token: ${{ secrets.GITHUB_TOKEN }}
57       - name: Comment on failure
58         uses: peter-evans/create-or-update-comment@v3
59         if: ${{ failure() }}
60         with:
61           issue-number: 105153
62           body: |
63             Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).