diff --git a/.github/workflows/sync-purge.yml b/.github/workflows/sync-purge.yml new file mode 100644 index 0000000..0e344d5 --- /dev/null +++ b/.github/workflows/sync-purge.yml @@ -0,0 +1,44 @@ +name: PikaOS Sync All Repos and Purge Cache + +on: + workflow_dispatch: + schedule: + - cron: '2 0 * * *' + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pika-package-container:latest + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Sync Repository + run: chmod +x ./syncpurge.sh && ./syncpurge.sh + + - name: Purge cache + uses: strrife/cloudflare-chunked-purge-action@master + env: + # Zone is required by both authentication methods + CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} + + CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}