Skip to content

Chaindata Publish

Chaindata Publish #102

Workflow file for this run

name: Chaindata Publish
on:
# runs on each commit pushed to the `main` branch
push:
branches: [main]
# runs at `30 minutes past the hour, every 6 hours`, starting at midnight UTC
schedule:
- cron: '30 0/6 * * *'
# can be run manually from the `Actions` tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
concurrency:
# only run 1 job per branch/pr/etc at a time
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
publish:
name: 'Build & publish chaindata to GitHub Pages'
timeout-minutes: 15
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Setup pnpm
uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v3
env:
# Workaround for `Setup Node` action causing the workflow to timeout
# Source: https://github.com/actions/setup-node/issues/733#issuecomment-1489952874
#
# https://github.com/actions/cache/blob/04f198bf0b2a39f7230a4304bf07747a0bddf146/tips-and-workarounds.md#cache-segment-restore-timeout
# -- note that actions/setup-node@3 [uses actions/[email protected]](https://github.com/actions/setup-node/blob/a4fcaaf314b117a40d694a35ee36461f8ff3c6e6/package-lock.json#L41)
# which has a [default timeout of 60 minutes](https://github.com/actions/toolkit/blob/457303960f03375db6f033e214b9f90d79c3fe5c/packages/cache/RELEASES.md#304),
# not 10 minutes! Let's reduce it further.
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2
with:
node-version-file: 'package.json'
cache: pnpm
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build chaindata
run: pnpm build
- name: Upload pages artifact
uses: actions/upload-pages-artifact@v2
with:
path: 'dist'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2