anny-booking-automation/.github/workflows/sync-to-public.yml

44 lines
1.3 KiB
YAML

name: Sync to Public Repo
on:
push:
branches:
- main
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Check if token is set
run: |
if [ -z "${{ secrets.PUBLIC_REPO_TOKEN }}" ]; then
echo "❌ ERROR: PUBLIC_REPO_TOKEN secret is not set!"
exit 1
else
echo "✅ PUBLIC_REPO_TOKEN is set"
fi
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Remove sync workflow and push to public repo
env:
TOKEN: ${{ secrets.PUBLIC_REPO_TOKEN }}
run: |
# Configure git
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# Create a temporary branch for the filtered push
git checkout -b temp-sync-branch
# Remove the sync workflow file
git rm .github/workflows/sync-to-public.yml
git commit -m "Remove sync workflow for public repo"
# Push to public repo using env var (more secure)
git remote add public "https://x-access-token:${TOKEN}@github.com/wiestju/anny-booking-automation.git"
git push public temp-sync-branch:main --force