Github actions workflow that tests and typechecks.

This commit is contained in:
Sebastián Claudio Nale 2023-01-13 10:15:21 -03:00 committed by Joe Howarth
parent 0df6c6fbf0
commit 75f3a1a7a3
2 changed files with 85 additions and 0 deletions

81
.github/workflows/test.yaml vendored Normal file
View File

@ -0,0 +1,81 @@
name: Test
on:
pull_request:
jobs:
forge-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout trustless-generic-relayer
uses: actions/checkout@v3
- name: Checkout wormhole
uses: actions/checkout@v3
with:
repository: wormhole-foundation/wormhole
path: ethereum/wormhole
ref: feat/batch_vaa_alternative
- uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'
cache-dependency-path: |
ethereum/package-lock.json
ethereum/wormhole/ethereum/package-lock.json
- name: Run forge unit tests
run: |
cd ethereum
../scripts/install-foundry
PATH=$PATH:$HOME/.foundry/bin/ make unit-test
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check that contracts are formatted
run: |
cd ethereum
../scripts/install-foundry
PATH=$PATH:$HOME/.foundry/bin/ forge fmt --check
typecheck:
runs-on: ubuntu-latest
steps:
- name: Checkout trustless-generic-relayer
uses: actions/checkout@v3
with:
path: trustless-generic-relayer
- name: Checkout wormhole
uses: actions/checkout@v3
with:
repository: wormhole-foundation/wormhole
path: trustless-generic-relayer/ethereum/wormhole
ref: feat/batch_vaa_alternative
- name: Checkout relayer-engine
uses: actions/checkout@v3
with:
repository: wormhole-foundation/relayer-engine
path: relayer-engine
- uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'
cache-dependency-path: |
trustless-generic-relayer/ethereum/package-lock.json
trustless-generic-relayer/ethereum/wormhole/ethereum/package-lock.json
trustless-generic-relayer/relayer_engine/package-lock.json
trustless-generic-relayer/sdk/package-lock.json
relayer-engine/package-lock.json
- name: Generate contract typechain typings
run: |
cd trustless-generic-relayer/ethereum
../scripts/install-foundry
PATH=$PATH:$HOME/.foundry/bin/ make build
- run: cd trustless-generic-relayer/sdk && npm ci
- name: Typecheck ethereum/ts-scripts
run: |
cd trustless-generic-relayer/ethereum
npm ci
npx tsc --noEmit --project ts-scripts
- run: cd relayer-engine && npm ci
- name: Typecheck relayer engine plugin
run: |
cd trustless-generic-relayer/relayer_engine
npm ci
npx tsc --noEmit --project tsconfig.json

View File

@ -0,0 +1,4 @@
{
"extends": "../tsconfig.json",
"include": ["./"]
}