Skip to content

update

update #14

Workflow file for this run

name: Deploy
# from https://github.com/observablehq/framework/blob/main/.github/workflows/deploy.yml
on:
workflow_dispatch: {}
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
id-token: write
packages: read
pages: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'yarn'
cache-dependency-path: |
yarn.lock
'examples/*/yarn.lock'
- run: yarn --frozen-lockfile
- id: date
run: echo "date=$(TZ=America/Los_Angeles date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- id: cache-data
uses: actions/cache@v4
with:
path: |
docs/.observablehq/cache
examples/*/docs/.observablehq/cache
key: data-${{ hashFiles('docs/data/*', 'examples/*/docs/data/*') }}-${{ steps.date.outputs.date }}
- if: steps.cache-data.outputs.cache-hit == 'true'
run: find docs/.observablehq/cache examples/*/docs/.observablehq/cache -type f -exec touch {} +
- run: yarn build
# - name: Build example "api"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/api
# - name: Build example "chess"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/chess
# - name: Build example "eia"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/eia
# env:
# EIA_KEY: ${{ secrets.EIA_KEY }}
# - name: Build example "google-analytics"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/google-analytics
# env:
# GA_PROPERTY_ID: ${{ vars.GA_PROPERTY_ID }}
# GA_CLIENT_EMAIL: ${{ secrets.GA_CLIENT_EMAIL }}
# GA_PRIVATE_KEY: ${{ secrets.GA_PRIVATE_KEY }}
# - name: Build example "hello-world"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/hello-world
# - name: Build example "mortgage-rates"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/mortgage-rates
# - name: Build example "penguin-classification"
# run: |
# python -m pip install --upgrade pip
# pip install -r requirements.txt
# yarn --frozen-lockfile && yarn build
# working-directory: examples/penguin-classification
# - name: Build example "plot"
# run: yarn --frozen-lockfile && yarn build
# working-directory: examples/plot
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - run: mkdir dist/examples && for i in examples/*; do if [ -d $i/dist ]; then mv -v $i/dist dist/examples/$(basename $i); fi; done
# Optional: Add any other steps required to build your project here
# This might include building examples, preprocessing data, etc.
- name: Upload build artifact for GitHub Pages
uses: actions/upload-pages-artifact@v1
with:
path: dist
# Specify the path to your build directory
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@v1
if: github.ref == 'refs/heads/main'
# - uses: cloudflare/pages-action@1
# with:
# apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
# projectName: framework
# directory: dist
# gitHubToken: ${{ secrets.GITHUB_TOKEN }}
# TODO: This doesn't include the examples. How can we fix that?
# TODO: Re-enable deploy to Observable
# - name: Deploy to Observable
# run: yarn deploy -m "$(git log -1 --pretty=%s)"
# env:
# OBSERVABLE_TOKEN: ${{ secrets.OBSERVABLE_API_TOKEN }}