Clean old cache in App registries #102
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * *' # Daily | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
purge-prod: | |
runs-on: ubuntu-latest | |
environment: s940 | |
strategy: | |
matrix: | |
registry: [radixc2app, radixprodapp] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: Azure/acr-cli | |
ref: v0.8 | |
- uses: actions/setup-go@v4 | |
- name: Compile ACR binary | |
run: make binaries | |
- name: Get GitHub Public IP | |
id: github_public_ip | |
run: echo "ipv4=$(curl 'https://ifconfig.me/ip')" >> $GITHUB_OUTPUT | |
- name: 'Az CLI login' | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
- name: Add GitHub IP to StorageAccount | |
run: az acr network-rule add --name ${{ matrix.registry }} --ip-address ${{ steps.github_public_ip.outputs.ipv4 }} --query provisioningState | |
- name: Create ACR Token | |
run: echo "token=$(az acr login --name=${{ matrix.registry }} --expose-token | jq -r '.accessToken')" >> $GITHUB_OUTPUT | |
id: token | |
- name: Purge old cache | |
run: ./bin/acr purge --registry=${{ matrix.registry }}.azurecr.io --password=${{steps.token.outputs.token}} --username= --filter='*/cache:.*' --ago=7d --untagged | |
- name: Revoke GitHub IP on StorageAccount | |
run: az acr network-rule remove --name ${{ matrix.registry }} --ip-address ${{ steps.github_public_ip.outputs.ipv4 }} --query provisioningState | |
purge-dev: | |
runs-on: ubuntu-latest | |
environment: s941 | |
strategy: | |
matrix: | |
registry: [radixdevapp, radixplaygroundapp] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: Azure/acr-cli | |
ref: v0.8 | |
- uses: actions/setup-go@v4 | |
- name: Compile ACR binary | |
run: make binaries | |
- name: Get GitHub Public IP | |
id: github_public_ip | |
run: echo "ipv4=$(curl 'https://ifconfig.me/ip')" >> $GITHUB_OUTPUT | |
- name: 'Az CLI login' | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} | |
- name: Add GitHub IP to StorageAccount | |
run: az acr network-rule add --name ${{ matrix.registry }} --ip-address ${{ steps.github_public_ip.outputs.ipv4 }} --query provisioningState | |
- name: Create ACR Token | |
run: echo "token=$(az acr login --name=${{ matrix.registry }} --expose-token | jq -r '.accessToken')" >> $GITHUB_OUTPUT | |
id: token | |
- name: Purge old cache | |
run: ./bin/acr purge --registry=${{ matrix.registry }}.azurecr.io --password=${{steps.token.outputs.token}} --username= --filter='*/cache:.*' --ago=7d --untagged | |
- name: Revoke GitHub IP on StorageAccount | |
run: az acr network-rule remove --name ${{ matrix.registry }} --ip-address ${{ steps.github_public_ip.outputs.ipv4 }} --query provisioningState | |