Skip to content

Merge main into Staging #99

Merge main into Staging

Merge main into Staging #99

Workflow file for this run

# Workflow to sync main branch changes into staging branch.
# Triggered on pushes to main branch.
# Jobs:
# - CI-preSyncCheck: Runs CI checks on main branch.
# - sync-branch:
# - Checks out staging branch
# - Merges main into staging with --no-ff
# - Pushes merged staging branch
# Merging with --no-ff creates a merge commit to track changes.
name: Sync Main to Staging
run-name: Merge main into Staging
on:
push:
branches: ["main"]
permissions: # we can tighten this up in settings but are able to set customize permissions against GITHUB_TOKEN in Yaml
contents: write
actions: write
checks: write
deployments: write
discussions: write
issues: write
pages: read
packages: write
pull-requests: write
repository-projects: write
security-events: write
statuses: write
jobs:
sync-branch:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all history so we can perform a merge
ref: 'staging'
- name: Configure Git
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
git push origin staging
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Merge main(dev) -> staging # git merge main --no-ff -> no fast forwarding makes it easier to track changes
run: |
git checkout main
git pull
git checkout staging
git merge main --no-ff
git push origin staging