diff --git a/.github/workflows/push-on-change.yaml b/.github/workflows/push-on-change.yaml new file mode 100644 index 0000000000..bc50e2bf8d --- /dev/null +++ b/.github/workflows/push-on-change.yaml @@ -0,0 +1,42 @@ +on: + push: + branches: + - '*/*' + workflow_dispatch: + +name: Push on change + +jobs: + create_key: + runs-on: ubuntu-24.04 + + name: Push on change ${{ github.ref }} + + steps: + - name: Install git-filter-repo + run: | + sudo apt-get update + sudo apt-get install -y git-filter-repo + + - name: Check out our repository + uses: actions/checkout@v4 + with: + ref: main + fetch-depth: 0 + + - name: Configure Git identity + run: | + git log -n 1 --pretty=format:"git config --global user.name '%an' && git config --global user.email '%ae'" | tee /dev/stderr | sh + + - name: Get branch name + id: remote_repo + run: | + echo "slug=$(echo $GITHUB_REF | sed 's#refs/heads/##')" >> $GITHUB_OUTPUT + shell: bash + + - name: Merge subtree + env: + TOKEN_KEYS: ${{ secrets.TOKEN_KEYS }} + GH_TOKEN: ${{ secrets.TOKEN_KEYS }} + run: | + ./run.sh merge_into_remote ${{ steps.remote_repo.outputs.slug }}