Mirror: A Node.js fetch shim using built-in Request, Response, and Headers (but without native fetch)
1name: Mirror 2on: 3 push: 4 branches: 5 - main 6jobs: 7 mirror: 8 runs-on: ubuntu-latest 9 steps: 10 - name: Checkout repository 11 uses: actions/checkout@v4 12 with: 13 fetch-depth: 0 14 fetch-tags: true 15 - name: Mirror 16 env: 17 MIRROR_SSH_KEY: ${{ secrets.MIRROR_SSH_KEY }} 18 GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=yes' 19 run: | 20 mkdir -p ~/.ssh 21 echo "$MIRROR_SSH_KEY" > ~/.ssh/id_rsa 22 chmod 600 ~/.ssh/id_rsa 23 ssh-keyscan -H knot.kitten.sh >> ~/.ssh/known_hosts 24 git remote add mirror "git@knot.kitten.sh:kitten.sh/${GITHUB_REPOSITORY#*/}" 25 git push --mirror mirror