1db08b1e9b
Mirror to GitHub (Archive Method) / mirror (push) Failing after 15s
Mirror to GitHub (Rsync Method) / mirror (push) Failing after 15s
Mirror to GitHub / mirror (push) Failing after 14s
Test and Lint / backend-test (push) Successful in 1m3s
continuous-integration/drone/push Build is passing
Test and Lint / frontend-test (push) Successful in 2m15s
Version and Release / version-bump (push) Successful in 35s
Version and Release / trigger-drone (push) Successful in 3s
- Add three different approaches for mirroring to GitHub - Approach 1: Filter out sensitive files on a separate branch - Approach 2: Use git archive with .gitattributes exclusions - Approach 3: Use rsync for flexible file filtering - Add exclusion lists for sensitive files and directories - Protect production configs, environment files, and private data This allows maintaining a public GitHub mirror while keeping sensitive configuration and data private on the Gitea instance. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
name: Mirror to GitHub (Rsync Method)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
mirror:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Prepare mirror directory
|
|
run: |
|
|
# Create mirror directory
|
|
mkdir -p /tmp/github-mirror
|
|
|
|
# Use rsync to copy files, excluding sensitive ones
|
|
rsync -av --exclude-from='.github-mirror-exclude' ./ /tmp/github-mirror/
|
|
|
|
- name: Push to GitHub
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
cd /tmp/github-mirror
|
|
|
|
# Initialize git repo
|
|
git init
|
|
git config user.name "Gitea Mirror Bot"
|
|
git config user.email "bot@noreply.gitea.local"
|
|
|
|
# Add all files and commit
|
|
git add .
|
|
git commit -m "Mirror from Gitea: $(git --git-dir=$GITHUB_WORKSPACE/.git log -1 --format='%h %s')"
|
|
|
|
# Push to GitHub
|
|
git remote add origin https://x-access-token:${GITHUB_TOKEN}@github.com/YOUR_GITHUB_USERNAME/YOUR_REPO_NAME.git
|
|
git push -f origin main |