Improve GitHub Actions (#3451)
parent
5e00787199
commit
04204b8fb9
@ -0,0 +1,20 @@ |
||||
name: Setup |
||||
|
||||
runs: |
||||
using: composite |
||||
steps: |
||||
- uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 14.x |
||||
cache: npm |
||||
- uses: actions/cache@v3 |
||||
id: cache |
||||
with: |
||||
path: '**/node_modules' |
||||
key: npm-v3-${{ hashFiles('**/package-lock.json') }} |
||||
- name: Install dependencies |
||||
run: npm ci --prefer-offline |
||||
shell: bash |
||||
if: steps.cache.outputs.cache-hit != 'true' |
||||
env: |
||||
SKIP_COMPILE: true |
@ -0,0 +1,54 @@ |
||||
name: checks |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- master |
||||
- release-v* |
||||
pull_request: {} |
||||
workflow_dispatch: {} |
||||
|
||||
concurrency: |
||||
group: checks-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
lint: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Set up environment |
||||
uses: ./.github/actions/setup |
||||
- run: npm run lint |
||||
|
||||
tests: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Set up environment |
||||
uses: ./.github/actions/setup |
||||
- run: npm run test |
||||
env: |
||||
FORCE_COLOR: 1 |
||||
ENABLE_GAS_REPORT: true |
||||
- run: npm run test:inheritance |
||||
- run: npm run test:generation |
||||
|
||||
coverage: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Set up environment |
||||
uses: ./.github/actions/setup |
||||
- run: npm run coverage |
||||
env: |
||||
NODE_OPTIONS: --max_old_space_size=4096 |
||||
- uses: codecov/codecov-action@v3 |
||||
|
||||
slither: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Set up environment |
||||
uses: ./.github/actions/setup |
||||
- uses: crytic/slither-action@v0.1.1 |
@ -1,28 +0,0 @@ |
||||
name: Slither Analysis |
||||
on: |
||||
push: |
||||
branches: |
||||
- master |
||||
- release-v* |
||||
pull_request: {} |
||||
workflow_dispatch: {} |
||||
|
||||
jobs: |
||||
analyze: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 12.x |
||||
- uses: actions/cache@v3 |
||||
id: cache |
||||
with: |
||||
path: '**/node_modules' |
||||
key: npm-v2-${{ hashFiles('**/package-lock.json') }} |
||||
restore-keys: npm-v2- |
||||
- run: npm ci |
||||
if: steps.cache.outputs.cache-hit != 'true' |
||||
- name: Clean project |
||||
run: npm run clean |
||||
- uses: crytic/slither-action@v0.1.1 |
@ -1,57 +0,0 @@ |
||||
name: Test |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- master |
||||
- release-v* |
||||
pull_request: {} |
||||
workflow_dispatch: {} |
||||
|
||||
jobs: |
||||
test: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 12.x |
||||
- uses: actions/cache@v3 |
||||
id: cache |
||||
with: |
||||
path: '**/node_modules' |
||||
key: npm-v2-${{ hashFiles('**/package-lock.json') }} |
||||
restore-keys: npm-v2- |
||||
- run: npm ci |
||||
if: steps.cache.outputs.cache-hit != 'true' |
||||
- run: npm run lint |
||||
- run: npm run test |
||||
env: |
||||
FORCE_COLOR: 1 |
||||
ENABLE_GAS_REPORT: true |
||||
- run: npm run test:inheritance |
||||
- run: npm run test:generation |
||||
- name: Print gas report |
||||
run: cat gas-report.txt |
||||
|
||||
coverage: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
fetch-depth: 2 |
||||
- uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 12.x |
||||
- uses: actions/cache@v3 |
||||
id: cache |
||||
with: |
||||
path: '**/node_modules' |
||||
key: npm-v2-${{ hashFiles('**/package-lock.json') }} |
||||
restore-keys: npm-v2- |
||||
- run: npm ci |
||||
if: steps.cache.outputs.cache-hit != 'true' |
||||
- run: npm run coverage |
||||
env: |
||||
NODE_OPTIONS: --max_old_space_size=4096 |
||||
- uses: codecov/codecov-action@v3 |
@ -0,0 +1,10 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
set -euo pipefail |
||||
|
||||
if [ "${SKIP_COMPILE:-}" == true ]; then |
||||
exit |
||||
fi |
||||
|
||||
npm run clean |
||||
env COMPILE_MODE=production npm run compile |
Loading…
Reference in new issue