Merge pull request #128300 from mweinelt/actions/periodic-merge
.github/workflows/periodic-merge: generalize from merge-staging
This commit is contained in:
commit
6276ad09c0
41
.github/workflows/merge-staging.yml
vendored
41
.github/workflows/merge-staging.yml
vendored
@ -1,41 +0,0 @@
|
|||||||
name: "merge staging(-next)"
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
# * is a special character in YAML so you have to quote this string
|
|
||||||
# Merge every 6 hours
|
|
||||||
- cron: '0 */6 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync-branch:
|
|
||||||
if: github.repository_owner == 'NixOS'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Merge master into staging-next
|
|
||||||
id: staging_next
|
|
||||||
uses: devmasx/merge-branch@v1.3.1
|
|
||||||
with:
|
|
||||||
type: now
|
|
||||||
from_branch: master
|
|
||||||
target_branch: staging-next
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Merge staging-next into staging
|
|
||||||
id: staging
|
|
||||||
uses: devmasx/merge-branch@v1.3.1
|
|
||||||
with:
|
|
||||||
type: now
|
|
||||||
from_branch: staging-next
|
|
||||||
target_branch: staging
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Comment on failure
|
|
||||||
uses: peter-evans/create-or-update-comment@v1
|
|
||||||
if: ${{ failure() }}
|
|
||||||
with:
|
|
||||||
issue-number: 105153
|
|
||||||
body: |
|
|
||||||
An automatic merge${{ (steps.staging_next.outcome == 'failure' && ' from master to staging-next') || ((steps.staging.outcome == 'failure' && ' from staging-next to staging') || '') }} [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).
|
|
||||||
|
|
49
.github/workflows/periodic-merge-24h.yml
vendored
Normal file
49
.github/workflows/periodic-merge-24h.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
name: "Periodic Merges"
|
||||||
|
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# * is a special character in YAML so you have to quote this string
|
||||||
|
# Merge every 6 hours
|
||||||
|
- cron: '0 */24 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
periodic-merge:
|
||||||
|
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
|
||||||
|
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||||
|
uses: devmasx/merge-branch@v1.3.1
|
||||||
|
with:
|
||||||
|
type: now
|
||||||
|
from_branch: ${{ matrix.pairs.from }}
|
||||||
|
target_branch: ${{ matrix.pairs.into }}
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Comment on failure
|
||||||
|
uses: peter-evans/create-or-update-comment@v1
|
||||||
|
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 }}).
|
55
.github/workflows/periodic-merge-6h.yml
vendored
Normal file
55
.github/workflows/periodic-merge-6h.yml
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
name: "Periodic Merges"
|
||||||
|
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# * is a special character in YAML so you have to quote this string
|
||||||
|
# Merge every 6 hours
|
||||||
|
- cron: '0 */6 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
periodic-merge:
|
||||||
|
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: staging-next
|
||||||
|
- from: staging-next
|
||||||
|
into: staging
|
||||||
|
- from: release-21.05
|
||||||
|
into: staging-next-21.05
|
||||||
|
- from: staging-next-21.05
|
||||||
|
into: staging-21.05
|
||||||
|
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||||
|
uses: devmasx/merge-branch@v1.3.1
|
||||||
|
with:
|
||||||
|
type: now
|
||||||
|
from_branch: ${{ matrix.pairs.from }}
|
||||||
|
target_branch: ${{ matrix.pairs.into }}
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Comment on failure
|
||||||
|
uses: peter-evans/create-or-update-comment@v1
|
||||||
|
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 }}).
|
Loading…
Reference in New Issue
Block a user