name: sync-to-forgejo on: push: branches: - main jobs: sync: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Sync to Forgejo env: FORGEJO_SECRET: ${{ secrets.FORGEJO_SECRET || secrets.GITEA_SECRET }} FORGEJO_OWNER: ${{ secrets.FORGEJO_OWNER || 'ashwin' }} FORGEJO_USERNAME: ${{ secrets.FORGEJO_USERNAME || secrets.GITEA_USERNAME || 'ashwin' }} REPO: ${{ github.event.repository.name }} BRANCH: ${{ github.ref_name }} run: | set -euxo pipefail export GIT_TERMINAL_PROMPT=0 export GIT_TRACE=1 export GIT_CURL_VERBOSE=1 USER="${FORGEJO_USERNAME}" TARGET="https://ci.nxtgauge.com/${FORGEJO_OWNER}/${REPO}.git" AUTH="$(printf '%s' "${USER}:${FORGEJO_SECRET}" | base64 -w0)" test -n "${FORGEJO_SECRET:-}" || (echo "FORGEJO_SECRET empty" && exit 1) curl -fsS -H "Authorization: Basic ${AUTH}" https://ci.nxtgauge.com/api/v1/user >/dev/null curl -fsS -X POST -H "Authorization: Basic ${AUTH}" "https://ci.nxtgauge.com/api/v1/repos/${FORGEJO_OWNER}/${REPO}/mirror-sync" >/dev/null