Skip to content

Cloudflare Pages

Cloudflare Pages #233

Workflow file for this run

name: Cloudflare Pages
on:
schedule:
- cron: "0 12 * * *"
push:
branches:
- main
env:
ASTRO_SITE: ${{ vars.ASTRO_SITE }}
GOATCOUNTER_SITE: ${{ vars.GOATCOUNTER_SITE }}
GISCUS_REPO: ${{ github.repository }}
GISCUS_REPO_ID: ${{ github.repository_id }}
GISCUSS_CATEGORY: ${{ vars.GISCUSS_CATEGORY }}
GISCUSS_CATEGORY_ID: ${{ vars.GISCUSS_CATEGORY_ID }}
## Node related.
DISABLE_OPENCOLLECTIVE: 1
ADBLOCK: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout beagle
uses: actions/checkout@v4
with:
repository: ${{ github.actor }}/${{ secrets.PAGES_REPO }}
token: ${{ secrets.GH_PAT }}
path: ${{ secrets.PAGES_REPO }}
- name: Prepare Markdown Files
run: |
cp -r ${{ secrets.PAGES_REPO }}/www/* src/content/
- name: Get CV
run: curl -o public/cv.pdf ${{ secrets.CV_URL }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install Dependencies
run: npm install
- name: Build copernicus
run: npm run build
- name: Upload Pages Artifact
uses: actions/upload-artifact@v4
with:
name: pages
path: dist
retention-days: 1
deploy:
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- name: Download Pages Artifact
uses: actions/download-artifact@v4
with:
name: pages
path: dist
- name: Publish to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
wranglerVersion: 3
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: ${{ secrets.CLOUDFLARE_PAGES_PROJECT }}
directory: dist
- name: Slack Notify
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_FOOTER: ""
SLACK_COLOR: ${{ job.status }}
if: always()