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