v3 to v4 update script #696
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: CI-Pipeline | |
on: | |
# Triggers the workflow on push or pull request events but only for the main branch | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
## yarn.lock file contains git:// instead of https | |
## https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git | |
- run: git config --global url."https://".insteadOf git:// | |
- name: Checkout commit | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "14.x" | |
- name: Install dependencies | |
run: yarn | |
- name: Compile contracts and generate typechain bindings | |
run: yarn compile | |
- name: Lint | |
run: yarn lint:ci | |
# Cache or reuse node_modules from earlier completed job. | |
- name: Cache NPM | |
uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- run: git config --global url."https://".insteadOf git:// | |
- name: Checkout commit | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "14.x" | |
- name: Install dependencies | |
run: yarn | |
- name: Compile contracts and generate typechain bindings | |
run: yarn compile | |
- name: Test | |
run: yarn test:ci | |
# Cache or reuse node_modules from earlier completed job. | |
- name: Cache NPM | |
uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
compatibility: | |
runs-on: ubuntu-latest | |
steps: | |
## yarn.lock file contains git:// instead of https | |
## https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git | |
- run: git config --global url."https://".insteadOf git:// | |
- name: Checkout commit | |
uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "14.x" | |
- name: Install dependencies | |
run: yarn | |
- name: Compile contracts and generate typechain bindings | |
run: yarn compile | |
- name: Generate standard artifacts | |
run: yarn generate:standard:artifacts | |
- name: Checkout release | |
uses: actions/checkout@v4 | |
with: | |
path: release | |
ref: releases/2 | |
- name: Install release dependencies | |
run: yarn | |
working-directory: ./release | |
- name: Compile release | |
run: yarn compile | |
working-directory: ./release | |
- name: Generate release artifacts | |
run: yarn generate:standard:artifacts --inputDir ./release --outputDir ./release/artifactsPostProcessed | |
- name: Compare artifacts | |
run: yarn compare:artifacts -o release/artifactsPostProcessed -n artifactsPostProcessed | |
# Cache or reuse node_modules from earlier completed job. | |
- name: Cache NPM | |
uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- |