From 75f3a1a7a341bbd0099de7a5cd53195c0d7ca139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Claudio=20Nale?= Date: Fri, 13 Jan 2023 10:15:21 -0300 Subject: [PATCH] Github actions workflow that tests and typechecks. --- .github/workflows/test.yaml | 81 +++++++++++++++++++++++++++++++ ethereum/ts-scripts/tsconfig.json | 4 ++ 2 files changed, 85 insertions(+) create mode 100644 .github/workflows/test.yaml create mode 100644 ethereum/ts-scripts/tsconfig.json diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..e9b357f --- /dev/null +++ b/.github/workflows/test.yaml @@ -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 diff --git a/ethereum/ts-scripts/tsconfig.json b/ethereum/ts-scripts/tsconfig.json new file mode 100644 index 0000000..7f41c25 --- /dev/null +++ b/ethereum/ts-scripts/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.json", + "include": ["./"] +}