Skip to content

fix: intermittent workflow timeouts #42

fix: intermittent workflow timeouts

fix: intermittent workflow timeouts #42

Workflow file for this run

name: Chaindata Validate
on:
push:
branches: [v3, main]
pull_request:
types: [opened, synchronize]
branches: [v3, main]
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:
validate:
name: 'Validate chaindata JSON format & schema'
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@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: Validate JSON format & schema
# prettier will exit with a non-zero status code if the JSON format is not valid
# ajv will exit with a non-zero status code if the JSON schema is not valid
run: pnpm validate