Skip to content

Fill price (#1689) #5545

Fill price (#1689)

Fill price (#1689) #5545

Workflow file for this run

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 }}