Skip to content

[codex] preserve empty external skill args (#12) #30

[codex] preserve empty external skill args (#12)

[codex] preserve empty external skill args (#12) #30

name: Deploy Landing Page
on:
push:
branches: [main]
paths:
- ".github/workflows/deploy-landing.yml"
- "apps/landing-page-astro/**"
- "package.json"
- "package-lock.json"
workflow_dispatch:
permissions:
contents: read
deployments: write
concurrency:
group: deploy-landing-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: "22"
cache: npm
- name: Install dependencies
run: npm install --include=optional
- name: Build static landing page
working-directory: apps/landing-page-astro
run: npm run build
- name: Verify required static routes
run: |
test -f apps/landing-page-astro/dist/index.html
test -f apps/landing-page-astro/dist/privacy.html
test -f apps/landing-page-astro/dist/download.html
test -f apps/landing-page-astro/dist/sitemap-index.xml
test -f apps/landing-page-astro/dist/robots.txt
- name: Check Cloudflare deploy secrets
id: cloudflare
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
run: |
if [ -n "$CLOUDFLARE_API_TOKEN" ]; then
echo "deploy_enabled=true" >> "$GITHUB_OUTPUT"
else
echo "deploy_enabled=false" >> "$GITHUB_OUTPUT"
echo "No Cloudflare deploy token configured; skipping Pages deploy and smoking the live landing page."
fi
- name: Deploy to Cloudflare Pages
if: steps.cloudflare.outputs.deploy_enabled == 'true'
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy apps/landing-page-astro/dist --project-name=codevetter --branch=main
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Smoke production landing page
run: curl --fail --silent --show-error --location --output /dev/null --retry 3 --retry-delay 5 https://codevetter.com