forked from github/plane
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
name: Create Sync Action
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- preview
|
|
|
|
env:
|
|
SOURCE_BRANCH_NAME: ${{ github.ref_name }}
|
|
|
|
jobs:
|
|
sync_changes:
|
|
runs-on: ubuntu-20.04
|
|
permissions:
|
|
pull-requests: write
|
|
contents: read
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v4.1.1
|
|
with:
|
|
persist-credentials: false
|
|
fetch-depth: 0
|
|
|
|
- name: Setup GH CLI
|
|
run: |
|
|
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
|
|
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
|
|
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
|
|
sudo apt update
|
|
sudo apt install gh -y
|
|
|
|
- name: Push Changes to Target Repo A
|
|
env:
|
|
GH_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
|
run: |
|
|
TARGET_REPO="${{ secrets.TARGET_REPO_A }}"
|
|
TARGET_BRANCH="${{ secrets.TARGET_REPO_A_BRANCH_NAME }}"
|
|
SOURCE_BRANCH="${{ env.SOURCE_BRANCH_NAME }}"
|
|
|
|
git checkout $SOURCE_BRANCH
|
|
git remote add target-origin-a "https://$GH_TOKEN@github.com/$TARGET_REPO.git"
|
|
git push target-origin-a $SOURCE_BRANCH:$TARGET_BRANCH
|
|
|
|
- name: Push Changes to Target Repo B
|
|
env:
|
|
GH_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
|
run: |
|
|
TARGET_REPO="${{ secrets.TARGET_REPO_B }}"
|
|
TARGET_BRANCH="${{ secrets.TARGET_REPO_B_BRANCH_NAME }}"
|
|
SOURCE_BRANCH="${{ env.SOURCE_BRANCH_NAME }}"
|
|
|
|
git remote add target-origin-b "https://$GH_TOKEN@github.com/$TARGET_REPO.git"
|
|
git push target-origin-b $SOURCE_BRANCH:$TARGET_BRANCH
|