name: Synchronize with CDN on: push: branches: - "master" env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: sync_with_cdn: name: Synchronize with CDN runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout Repo uses: actions/checkout@v3 - name: Synchronize with CDN env: AWS_ACCESS_KEY: ${{ secrets.CDN_ACCESS_KEY }} AWS_SECRET_KEY: ${{ secrets.CDN_SECRET_KEY }} CDN_BUCKET: ${{ secrets.CDN_BUCKET }} run: | #!/bin/bash set -e set -o pipefail # Install rclone curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip unzip rclone-current-linux-amd64.zip cd rclone-*-linux-amd64 sudo cp rclone /usr/bin/ sudo chown root:root /usr/bin/rclone sudo chmod 755 /usr/bin/rclone # Create a S3 target rclone config create s3 s3 provider=DigitalOcean env_auth=true region=fra1 endpoint=fra1.digitaloceanspaces.com acl=public-read # remove `.github` and any other paths we do not want in the CDN rm -rf .github # SYNC rclone sync -P . s3:$CDN_BUCKET/ - name: Purge cache run: | #!/bin/bash set -e set -o pipefail # TODO