L1 to L3 Bridgers #402
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: Build, Test | |
on: | |
pull_request: | |
workflow_dispatch: | |
env: | |
MAINNET_RPC: ${{ secrets.MAINNET_RPC }} | |
jobs: | |
install: | |
name: 'Install' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 14 | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install node_modules | |
uses: OffchainLabs/actions/node-modules/install@main | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
needs: install | |
permissions: | |
checks: write # https://github.com/mikepenz/action-junit-report/issues/23#issuecomment-1412597753 | |
env: | |
TEST_PATH: /tmp/test-results | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore node_modules | |
uses: OffchainLabs/actions/node-modules/restore@main | |
- name: Lint sdk | |
run: | | |
yarn gen:abi | |
yarn build --reporter-options output=$TEST_PATH/sdk.xml | |
yarn lint --format junit -o $TEST_PATH/sdk-lint.xml | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lint-results | |
path: ${{ env.TEST_PATH }} | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v3 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '${{ env.TEST_PATH }}/sdk-lint.xml' | |
fail_on_failure: false | |
# TODO: need to fix codecov, hasn't been working for a while according to #172 comment | |
- name: Upload Coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: false | |
verbose: false | |
audit: | |
name: Audit | |
runs-on: ubuntu-latest | |
needs: install | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore node_modules | |
uses: OffchainLabs/actions/node-modules/restore@main | |
- run: yarn audit:ci | |
test-unit: | |
name: Test (Unit) | |
runs-on: ubuntu-latest | |
needs: install | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore node_modules | |
uses: OffchainLabs/actions/node-modules/restore@main | |
- name: Build | |
run: | | |
yarn gen:abi | |
yarn build | |
- name: Run unit tests | |
run: CI=true yarn test:unit | |
test-integration: | |
name: Test (Integration) | |
runs-on: ubuntu-latest | |
needs: install | |
steps: | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 14 | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore node_modules | |
uses: OffchainLabs/actions/node-modules/restore@main | |
- uses: OffchainLabs/actions/run-nitro-test-node@main | |
with: | |
no-token-bridge: true | |
- name: Copy .env | |
run: cp ./.env-sample ./.env | |
- name: Build | |
run: | | |
yarn gen:abi | |
yarn build | |
- name: Generate network file | |
run: yarn gen:network | |
- name: Run integration tests | |
run: CI=true yarn test:integration |