chore: minify artifacts #2251
Workflow file for this run
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
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Node.js CI - Build + Lint + Test | |
on: pull_request | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
- name: Use Node.js '16.15.0' | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16.15.0" | |
cache: "npm" | |
- name: 📦 Install dependencies | |
run: npm ci | |
- name: 🔍 Run Solidity Linter | |
run: npm run lint:solidity | |
- name: 🎨 Run ESLint on JS/TS files | |
run: npm run lint | |
# This will also generate the Typechain types used by the Chai tests | |
- name: 🏗️ Build contract artifacts | |
run: npx hardhat compile | |
- name: 📤 cache dependencies + build | |
uses: actions/cache@v2 | |
with: | |
path: | | |
artifacts | |
node_modules | |
types | |
contracts.ts | |
key: ${{ github.run_id }} | |
- name: minify artifacts | |
run: |- | |
curl -OL https://github.com/tidwall/jj/releases/download/v1.9.2/jj-1.9.2-linux-amd64.tar.gz | |
tar xvzf jj-1.9.2-linux-amd64.tar.gz | |
rm jj-1.9.2-linux-amd64.tar.gz | |
cd jj-1.9.2-linux-amd64 | |
jj -h | |
- name: 🧪 run import/requires tests | |
run: npm run test:importRequire | |
test-suites: | |
strategy: | |
matrix: | |
lsp: | |
[ | |
"up", | |
"upinit", | |
"lsp1", | |
"lsp2", | |
"lsp4", | |
"lsp6", | |
"lsp6init", | |
"lsp7", | |
"lsp7init", | |
"lsp8", | |
"lsp8init", | |
"lsp9", | |
"lsp9init", | |
"lsp11", | |
"lsp11init", | |
"lsp17", | |
"lsp20", | |
"lsp20init", | |
"lsp23", | |
"universalfactory", | |
"reentrancy", | |
"reentrancyinit", | |
"mocks", | |
] | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: 📥 restore cache | |
uses: actions/cache@v2 | |
id: "build-cache" | |
with: | |
path: | | |
artifacts | |
node_modules | |
types | |
contracts.ts | |
key: ${{ github.run_id }} | |
- name: Use Node.js v16 | |
uses: actions/setup-node@v2 | |
with: | |
node-version: "16.x" | |
cache: "npm" | |
- name: Install dependencies | |
if: steps.build-cache.outputs.cache-hit != 'true' | |
run: npm ci | |
- name: 🧪 run tests | |
run: npm run test:${{ matrix.lsp }} |