name: Mirror actions run-name: mirror actions on: push: schedule: - cron: '0 */12 * * *' # every 12 hours on the hour workflow_dispatch: # 允许手动触发 jobs: mirrors: strategy: matrix: include: - dest: "actions/checkout" source: "actions/checkout" - dest: "actions/upload-artifact" source: "actions/upload-artifact" - dest: "actions/setup-go" source: "actions/setup-go" - dest: "actions/setup-node" source: "actions/setup-node" - dest: "actions/setup-java" source: "actions/setup-java" - dest: "actions/setup-python" source: "actions/setup-python" - dest: "actions/cache" source: "actions/cache" - dest: "actions/download-artifact" source: "actions/download-artifact" - dest: "actions/setup-dotnet" source: "actions/setup-dotnet" - dest: "actions/appleboy-ssh-action" source: "appleboy/ssh-action" - dest: "actions/appleboy-scp-action" source: "appleboy/scp-action" - dest: "docker/setup-qemu-action" source: "docker/setup-qemu-action" - dest: "docker/setup-buildx-action" source: "docker/setup-buildx-action" - dest: "docker/login-action" source: "docker/login-action" - dest: "docker/build-push-action" source: "docker/build-push-action" - dest: "actions/stale" source: "actions/stale" - dest: "actions/setup-deno" source: "denoland/setup-deno" - dest: "actions/dorny-paths-filter" source: "dorny/paths-filter" - dest: "docker/metadata-action" source: "docker/metadata-action" - dest: "actions/setup-android" source: "android-actions/setup-android" - dest: "actions/setup-maven" source: "stCarolas/setup-maven" - dest: "actions/gitea-upload-artifact" source: "christopherhx/gitea-upload-artifact" - dest: "actions/ftp-deploy-action" source: "SamKirkland/FTP-Deploy-Action" runs-on: [build, shell] steps: - name: mirror github.com/${{ matrix.source }} to code.qasp.cn/${{ matrix.dest }} run: | mkdir -p actions gitea git clone --mirror https://github.com/${{ matrix.source }} ./${{ matrix.source }} cd ./${{ matrix.source }} git remote add gitea https://${{ secrets.PUSH_ACTIONS_TOKEN }}@code.qasp.cn/${{ matrix.dest }}.git git push --all --force --prune gitea git push --tags --force --prune gitea