name: Update VPNGate mirror on: schedule: # Offset from quarter-hour peaks because GitHub may delay busy schedules. - cron: "7,22,37,52 * * * *" workflow_dispatch: push: branches: [main] paths: - ".github/workflows/update-vpngate-mirror.yml" - "scripts/build_vpngate_mirror.py" - "snapshot_utils.py" permissions: contents: read pages: write id-token: write concurrency: group: vpngate-pages-mirror cancel-in-progress: false jobs: publish: runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 with: python-version: "3.11" - name: Fetch and validate VPNGate snapshot run: python scripts/build_vpngate_mirror.py --output-dir _site - uses: actions/configure-pages@v6 - uses: actions/upload-pages-artifact@v5 with: path: _site - name: Deploy GitHub Pages id: deployment uses: actions/deploy-pages@v5