GH Action: merge staging(-next) periodically
Automate the merging of `master` -> `staging-next` -> `staging`. Our main development branch is `master`. Large rebuilds go to `staging`. Periodically, `staging` is merged into `staging-next` for stabilization. When considered sufficiently stable, `staging-next` is merged into `master`. As changes arrive on these branches, it is important that they're all updated regularly with eachothers changes. This commit automates that part.
This commit is contained in:
parent
be36f6f0a0
commit
24884e5aac
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
# GitHub actions
|
# GitHub actions
|
||||||
/.github/workflows @Mic92 @zowoq
|
/.github/workflows @Mic92 @zowoq
|
||||||
|
/.github/workflows/merge-staging @FRidh
|
||||||
|
|
||||||
# EditorConfig
|
# EditorConfig
|
||||||
/.editorconfig @Mic92 @zowoq
|
/.editorconfig @Mic92 @zowoq
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
name: "merge staging(-next)"
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# * is a special character in YAML so you have to quote this string
|
||||||
|
# Merge every 6 hours
|
||||||
|
- cron: '* */6 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-branch:
|
||||||
|
if: github.repository == 'NixOS/nixpkgs'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Merge master into 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
|
||||||
|
uses: devmasx/merge-branch@v1.3.1
|
||||||
|
with:
|
||||||
|
type: now
|
||||||
|
from_branch: staging-next
|
||||||
|
target_branch: staging
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
Loading…
Reference in New Issue