47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
name: Cloudflare Purge Cache for Directory
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
s3-url:
|
|
description: S3 URL
|
|
required: true
|
|
type: string
|
|
workflow_dispatch:
|
|
inputs:
|
|
s3-url:
|
|
description: S3 URL
|
|
required: false
|
|
type: string
|
|
default: /snapshot/TOOLS/sts4/nightly/e4.32/
|
|
|
|
env:
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.CDN_S3_ACCESS_KEY }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.CDN_S3_SECRET_KEY }}
|
|
AWS_DEFAULT_REGION: us-east-1
|
|
AWS_ENDPOINT_URL_S3: ${{ secrets.CDN_S3_ENDPOINT }}
|
|
AWS_S3_BUCKET: ${{ secrets.CDN_BUCKET }}/spring-tools
|
|
DOWNLOAD_URL_ROOT: https://cdn.spring.io/spring-tools
|
|
|
|
jobs:
|
|
|
|
clear-cache-s3-dir:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Prepare URLs
|
|
id: prepare-urls
|
|
run: |
|
|
ESCAPED_REPLACE_URL=$(printf '%s\n' "$DOWNLOAD_URL_ROOT/" | sed -e 's/[\/&]/\\&/g')
|
|
sed_pattern="s/^[ \t]*/$ESCAPED_REPLACE_URL/"
|
|
urls=`aws s3 ls s3://$AWS_S3_BUCKET${{ inputs.s3-url }} --recursive | awk '{$1=$2=$3=""; print $0}' | sed -e "$sed_pattern" | paste -sd' ' -`
|
|
echo "urls=$urls" >> $GITHUB_OUTPUT
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
|
|
with:
|
|
sparse-checkout: |
|
|
.github
|
|
- uses: ./.github/actions/cloudflare-purge
|
|
name: Invalidate Cache for URLs
|
|
with:
|
|
urls: ${{ steps.prepare-urls.outputs.urls }}
|
|
cloudflare_zone_id: ${{ secrets.CLOUDFLARE_ZONE_ID }}
|
|
cloudflare_cache_token: ${{ secrets.CLOUDFLARE_CACHE_TOKEN }} |