Add zod routes to RPC #12988
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: Node.js CI | |
on: | |
pull_request: | |
branches: | |
- '**' | |
push: | |
branches: | |
- master | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'yarn' | |
- name: Install packages | |
run: yarn --non-interactive --ignore-scripts | |
# Necessary since `--frozen-lockfile` does not work properly in yarn 1.x. | |
# https://github.com/yarnpkg/yarn/issues/5840 | |
- name: Check for lockfile changes | |
run: | | |
if [[ $(git status | grep yarn.lock) ]]; then | |
echo "yarn.lock has outstanding updates, please check them in." | |
exit 1 | |
fi | |
- name: Lint | |
run: yarn lint | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
# Tests will only run on Node v20 due to https://github.com/nodejs/node/issues/35889 | |
node-version: 20 | |
cache: 'yarn' | |
- name: Cache Rust | |
uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: nodejs | |
- name: Install packages | |
run: yarn --non-interactive --frozen-lockfile | |
- name: Run tests | |
run: yarn test:coverage --maxWorkers=2 --workerIdleMemoryLimit=2000MB | |
- name: Check for missing fixtures | |
run: | | |
if [[ $(git status | grep fixture) ]]; then | |
echo "New test fixtures have not been checked in, please check them in." | |
exit 1 | |
fi | |
- name: Upload coverage | |
if: github.repository == 'iron-fish/ironfish' | |
run: CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }} ROOT_PATH=$GITHUB_WORKSPACE/ yarn coverage:upload | |
testslow: | |
name: Slow Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
# Tests will only run on Node v20 due to https://github.com/nodejs/node/issues/35889 | |
node-version: 20 | |
cache: 'yarn' | |
- name: Cache Rust | |
uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: nodejs | |
- name: Install packages | |
run: yarn --non-interactive --frozen-lockfile | |
- name: Run slow tests & coverage | |
run: yarn test:slow:coverage --maxWorkers=2 --workerIdleMemoryLimit=2000MB | |
- name: Check for missing fixtures | |
run: | | |
if [[ $(git status | grep fixture) ]]; then | |
echo "New test fixtures have not been checked in, please check them in." | |
exit 1 | |
fi | |
- name: Upload coverage | |
if: github.repository == 'iron-fish/ironfish' | |
run: CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }} ROOT_PATH=$GITHUB_WORKSPACE/ yarn coverage:upload |