From 44dac3b4ab325c7897068b8972f65a0d520851df Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Sun, 26 Jul 2026 18:14:09 -0700 Subject: [PATCH] docs(mirror): add Codeberg mirror setup and optional sync workflow (#595) * docs(mirror): add Codeberg mirror setup and optional sync workflow Document one-time Codeberg migration (pull mirrors are disabled on Codeberg.org) plus an optional GitHub Actions push for ongoing sync. Links the expected mirror URL from README and CONTRIBUTING. Co-authored-by: Jatin K Malik * docs(mirror): drop maintainer setup doc from PR Keep only the README mirror table and optional sync workflow. Setup notes are one-off and do not belong in the repo. Co-authored-by: Jatin K Malik * chore(ci): remove obsolete mirror setup comment Co-authored-by: Jatin K Malik --------- Co-authored-by: Cursor Agent Co-authored-by: Jatin K Malik --- .github/workflows/codeberg-mirror.yml | 43 +++++++++++++++++++++++++++ README.md | 11 +++++++ 2 files changed, 54 insertions(+) create mode 100644 .github/workflows/codeberg-mirror.yml diff --git a/.github/workflows/codeberg-mirror.yml b/.github/workflows/codeberg-mirror.yml new file mode 100644 index 0000000..aba9eee --- /dev/null +++ b/.github/workflows/codeberg-mirror.yml @@ -0,0 +1,43 @@ +# Push git data to the Codeberg read-only mirror after changes land on main. +name: Mirror to Codeberg + +on: + push: + branches: [main] + tags: ['v*'] + workflow_dispatch: + +concurrency: + group: codeberg-mirror + cancel-in-progress: true + +jobs: + mirror: + name: Push to Codeberg + runs-on: ubuntu-latest + if: github.repository == 'jatinkrmalik/vocalinux' + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Mirror branches and tags to Codeberg + env: + SSH_PRIVATE_KEY: ${{ secrets.CODEBERG_MIRROR_SSH_KEY }} + run: | + set -euo pipefail + if [ -z "${SSH_PRIVATE_KEY}" ]; then + echo "CODEBERG_MIRROR_SSH_KEY is not set; skipping mirror push." + exit 0 + fi + + install -m 700 -d ~/.ssh + printf '%s\n' "$SSH_PRIVATE_KEY" > ~/.ssh/codeberg_mirror + chmod 600 ~/.ssh/codeberg_mirror + ssh-keyscan -t ed25519,rsa codeberg.org >> ~/.ssh/known_hosts 2>/dev/null || true + + export GIT_SSH_COMMAND="ssh -i ~/.ssh/codeberg_mirror -o IdentitiesOnly=yes" + + git remote add codeberg git@codeberg.org:jatinkrmalik/vocalinux.git + git push codeberg --all + git push codeberg --tags diff --git a/README.md b/README.md index eb68346..fb3a876 100644 --- a/README.md +++ b/README.md @@ -395,6 +395,17 @@ vocalinux/ - [Distribution Compatibility](docs/DISTRO_COMPATIBILITY.md) - Distro/session behavior and caveats - [Contributing](CONTRIBUTING.md) - Development setup and contribution guidelines +## Repository mirrors + +GitHub is the **primary** forge for issues, pull requests, CI, and releases. + +| Role | URL | +|------|-----| +| Primary | https://github.com/jatinkrmalik/vocalinux | +| Read-only mirror (Codeberg) | https://codeberg.org/jatinkrmalik/vocalinux | + +The Codeberg copy is a read-only source backup. Open issues and PRs on GitHub only. + ## 🔊 Sound Customization Vocalinux uses smooth, pleasant gliding tones for audio feedback: