Skip to content

Commit

Permalink
Add CI clean cloudflare cache
Browse files Browse the repository at this point in the history
  • Loading branch information
hientominh committed Jan 17, 2024
1 parent f5dca81 commit fff0787
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 2 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/clean-cloudflare-page-preview-url.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: "Clean old cloudflare pages preview urls and nightly build"
on:
schedule:
- cron: "0 0 * * *" # every day at 00:00
workflow_dispatch:
push:
branches:
- feature/clean-cloudflare-page-and-r2
jobs:
clean-cloudflare-pages-preview-urls:
strategy:
matrix:
project: ["jan", "nitro"]
runs-on: ubuntu-latest
steps:
- name: Execute JavaScript inline
uses: satackey/[email protected]
with:
required-packages: node-fetch
script: |
const endpoint = "https://api.cloudflare.com/client/v4/accounts/${{ secrets.CLOUDFLARE_ACCOUNT_ID }}/pages/projects/${{ matrix.project }}/deployments";
const expirationDays = 15;
import fetch from 'node-fetch';
const init = {
headers: {
"Content-Type": "application/json;charset=UTF-8",
// We recommend you store the API token as a secret using the Workers dashboard or using Wrangler as documented here: https://developers.cloudflare.com/workers/wrangler/commands/#secret
"Authorization": "Bearer ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}",
},
};
const response = await fetch(endpoint, init);
const deployments = await response.json();

for (const deployment of deployments.result) {
// Check if the deployment was created within the last x days (as defined by `expirationDays` above)
if ((Date.now() - new Date(deployment.created_on)) / 86400000 > expirationDays) {
// Delete the deployment
await fetch(`${endpoint}/${deployment.id}`, {
method: "DELETE",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Authorization": "Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}",
},
});
}
}

3 changes: 1 addition & 2 deletions .github/workflows/jan-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ jobs:
deploy:
name: Deploy to GitHub Pages
env:
CLOUDFLARE_ACCOUNT_ID: 9707100ef42a1a25bd70e3ee2137bd0e
CLOUDFLARE_PROJECT_NAME: jan
runs-on: ubuntu-latest
permissions:
Expand Down Expand Up @@ -66,7 +65,7 @@ jobs:
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ env.CLOUDFLARE_ACCOUNT_ID }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: ${{ env.CLOUDFLARE_PROJECT_NAME }}
directory: ./docs/build
branch: dev
Expand Down

0 comments on commit fff0787

Please sign in to comment.