Chaindata Publish #101
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |