The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyperlane-monorepo/.github/workflows/node.yml

107 lines
2.4 KiB

name: node
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [main]
pull_request:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
npm-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: .//node_modules
key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }}
- name: npm-install
# Check out the lockfile from main, reinstall, and then
# verify the lockfile matches what was committed.
run: |
npm install
CHANGES=$(git status -s)
if [[ ! -z $CHANGES ]]; then
echo "Changes found: $CHANGES"
git diff
exit 1
fi
npm-build:
runs-on: ubuntu-latest
needs: [npm-install]
steps:
- uses: actions/checkout@v2
- name: npm-cache
uses: actions/cache@v2
with:
path: .//node_modules
key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }}
- name: build-cache
uses: actions/cache@v2
with:
path: ./*
key: ${{ github.sha }}
- name: build
run: npm run build
lint-prettier:
runs-on: ubuntu-latest
needs: [npm-install]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: .//node_modules
key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }}
- name: prettier
run: |
npm run prettier
CHANGES=$(git status -s)
if [[ ! -z $CHANGES ]]; then
echo "Changes found: $CHANGES"
exit 1
fi
test-ts:
runs-on: ubuntu-latest
needs: [npm-build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ./*
key: ${{ github.sha }}
- name: test
run: npm --prefix ./typescript/infra run test
test-sol:
env:
ETHERSCAN_API_KEY: ""
runs-on: ubuntu-latest
needs: [npm-build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ./*
key: ${{ github.sha }}
- name: core
run: npm --prefix ./solidity/core run test
- name: apps
run: npm --prefix ./solidity/apps run test