SIP-311 Teleporters (#1694) #5612
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: Test | |
on: | |
pull_request: {} | |
push: | |
branches: | |
- "main" | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
env: | |
CANNON_IPFS_URL: "http://127.0.0.1:5001" | |
CANNON_PUBLISH_IPFS_URL: "http://127.0.0.1:5001" | |
strategy: | |
matrix: | |
package: | |
[ | |
core-contracts, | |
core-utils, | |
core-modules, | |
sample-project, | |
main, | |
oracle-manager, | |
spot-market, | |
perps-market, | |
core-subgraph, | |
spot-market-subgraph, | |
perps-market-subgraph, | |
] | |
include: | |
- package: core-contracts | |
workspace: "@synthetixio/core-contracts" | |
coverage-file: utils/core-contracts/coverage.json | |
- package: core-utils | |
workspace: "@synthetixio/core-utils" | |
coverage-file: utils/core-utils/coverage/lcov.info | |
- package: core-modules | |
workspace: "@synthetixio/core-modules" | |
coverage-file: utils/core-modules/coverage.json | |
- package: sample-project | |
workspace: "@synthetixio/sample-project" | |
- package: oracle-manager | |
workspace: "@synthetixio/oracle-manager" | |
- package: spot-market | |
workspace: "@synthetixio/spot-market" | |
- package: perps-market | |
workspace: "@synthetixio/perps-market" | |
- package: main | |
workspace: "@synthetixio/main" | |
- package: core-subgraph | |
workspace: "@synthetixio/core-subgraph" | |
- package: spot-market-subgraph | |
workspace: "@synthetixio/spot-market-subgraph" | |
- package: perps-market-subgraph | |
workspace: "@synthetixio/perps-market-subgraph" | |
steps: | |
- name: Install Foundry (Cannon) | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- run: anvil -V | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "16.20.1" | |
cache: "yarn" | |
- uses: ibnesayeed/setup-ipfs@92d412e0dad36c06ffab50733e9c624896a0964f | |
with: | |
run_daemon: true | |
- run: yarn install --immutable --immutable-cache | |
- run: yarn workspaces foreach --topological-dev --recursive --verbose --from ${{ matrix.workspace }} run build:ts | |
- run: yarn workspaces foreach --topological-dev --recursive --verbose --from ${{ matrix.workspace }} run build-testable | |
- name: Regenerate docs and check for changes | |
run: | | |
if yarn workspace ${{ matrix.workspace }} run | grep docgen; then | |
yarn workspace ${{ matrix.workspace }} run docgen | |
# TODO: for some reason we have some diff in CI and not locally. | |
# git diff --exit-code | |
else | |
echo 'SKIP. No "docgen" script' | |
fi | |
- name: Execute size-contracts command | |
run: | | |
if yarn workspace ${{ matrix.workspace }} run | grep size-contracts; then | |
yarn workspace ${{ matrix.workspace }} run size-contracts | |
else | |
echo 'SKIP. No "size-contracts" script' | |
fi | |
- name: Check storage.dump.sol is up-to-date | |
run: | | |
if yarn workspace ${{ matrix.workspace }} run | grep check:storage; then | |
yarn workspace ${{ matrix.workspace }} run check:storage | |
else | |
echo 'SKIP. No "check:storage" script' | |
fi | |
- name: Execute tests | |
run: | | |
if yarn workspace ${{ matrix.workspace }} run | grep coverage; then | |
REPORT_GAS=true yarn workspace ${{ matrix.workspace }} run coverage | |
else | |
echo 'SKIP. No "coverage" script' | |
fi | |
- if: ${{ matrix.coverage-file }} | |
name: Upload ${{ matrix.workspace }} coverage to Codecov | |
uses: codecov/codecov-action@v2 | |
with: | |
files: ${{ matrix.coverage-file }} | |
flags: ${{ matrix.package }} |