Files
protocol/.github/workflows/ci.yml
Elena 6dc3084c30 Migrate CI to GitHub actions (#625)
* Update cci scrptisdas

* Add github action workflow for installing the solution

* Add building the solution to github actions

* Add linting and formatting checks to github action

* Add deps to list of prettier ignore

* Add tests for @0x/contracts*

* Add dependency checker tests in CI

* Add checks for markdown issues to CI

* Add foundry tests to CI

* Add Test local @0x/contracts-* to CI

* Add tests for doc generation to CI

* Surgeon out leftover circle references and config

* Fix foundry working-directory

* Switch order of generate docs and checks in CI

* Add dependabot action to github

* Run ci on push ot development branch
2022-12-21 16:27:19 +02:00

85 lines
2.2 KiB
YAML

name: Continuous Integration
on:
push:
branches:
- main
- development
pull_request:
jobs:
build:
name: Build and test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build solution
run: yarn build
- name: Lint typescript
run: yarn lint:ts
- name: Lint solidity
run: yarn lint:contracts
- name: Run prettier
run: yarn prettier:ci
- name: Check dependent packages have consistent versions
run: yarn deps_versions:ci
- name: Check diff in docs
run: yarn diff_md_docs:ci
- name: Check for broken links in markdown files
run: yarn test:links
- name: Test doc generation
run: yarn test:generate_docs:ci
- name: Test @0x/contracts-*
run: |
yarn wsrun \
-p @0x/contracts-multisig \
-p @0x/contracts-utils \
-p @0x/contracts-exchange-libs \
-p @0x/contracts-erc20 \
-p @0x/contracts-erc721 \
-p @0x/contracts-erc1155 \
-p @0x/contracts-asset-proxy \
-p @0x/contracts-broker \
-p @0x/contracts-zero-ex \
-m --serial -c test:ci
- name: Test local @0x/contracts-*
run: |
yarn wsrun \
-p @0x/contracts-test-utils \
-p @0x/contract-addresses \
-p @0x/contract-artifacts \
-p @0x/contract-wrappers-test \
-p @0x/order-utils \
-m --serial -c test:ci
- name: Add foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Run foundry tests for zero ex contracts only
working-directory: contracts/zero-ex
run: |
forge --version
forge build --sizes
forge test -vvv --gas-report