Commit 3a9467a

Karn Wong <karn@karnwong.me>
2026-05-23 10:39:24
ci: add tangled mirror
1 parent daa3b6d
Changed files (1)
.github
.github/workflows/tangled-mirror.yaml
@@ -0,0 +1,40 @@
+name: Mirror Repo to Tangled.org
+on:
+  workflow_dispatch:
+  push:
+    branches: [master]
+concurrency:
+  group: tangled-mirror
+  cancel-in-progress: true
+jobs:
+  tangled-mirror:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v6
+        with:
+          fetch-depth: 0
+          persist-credentials: false
+      - name: Add Tangled Remote
+        env:
+          TANGLED_REPO_URL: git@tangled.org:karnwong.me/${{ github.event.repository.name }}
+        run: git remote add tangled $TANGLED_REPO_URL
+      - name: Decode SSH key
+        env:
+          TANGLED_SSH_KEY: ${{ secrets.TANGLED_SSH_KEY }}
+        run: |
+          echo $TANGLED_SSH_KEY | base64 --decode > "$RUNNER_TEMP/ssh.key"
+          chmod 600 "$RUNNER_TEMP/ssh.key"
+      - name: Setup SSH known_hosts
+        run: |
+          mkdir -p ~/.ssh
+          sudo ssh-keyscan -t rsa tangled.org >> ~/.ssh/known_hosts
+          sudo chmod 700 ~/.ssh
+          sudo chmod 644 ~/.ssh/known_hosts
+          sudo chown -R runner:runner ~/.ssh
+      - name: Push Repo to Mirror
+        run: |
+          eval `ssh-agent`
+          ssh-add "$RUNNER_TEMP/ssh.key"
+          git push --mirror --force tangled
+      - name: Cleanup
+        run: rm "$RUNNER_TEMP/ssh.key"