summary refs log tree commit diff
path: root/.github/workflows/merge-staging.yml
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-11-27 15:48:27 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2020-11-28 13:44:18 +0100
commit24884e5aac7c095ec2c8a895f8825a3f675088ec (patch)
tree5c62fd97b1c1d41645d1c330caf3e81a501c5be7 /.github/workflows/merge-staging.yml
parentbe36f6f0a0ffbeef228a021f5a343f5ce7a183de (diff)
downloadnixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar.gz
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar.bz2
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar.lz
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar.xz
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.tar.zst
nixpkgs-24884e5aac7c095ec2c8a895f8825a3f675088ec.zip
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.
Diffstat (limited to '.github/workflows/merge-staging.yml')
-rw-r--r--.github/workflows/merge-staging.yml30
1 files changed, 30 insertions, 0 deletions
diff --git a/.github/workflows/merge-staging.yml b/.github/workflows/merge-staging.yml
new file mode 100644
index 00000000000..a3dd1911370
--- /dev/null
+++ b/.github/workflows/merge-staging.yml
@@ -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 }}