Commit 83f6e52f authored by Nicolas "Norswap" Laurent's avatar Nicolas "Norswap" Laurent Committed by norswap

update workflows to use makefile (notably checks out the submodule)

parent c5d9332c
name: Test Challenge name: Test Challenge
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,35 +8,15 @@ jobs: ...@@ -8,35 +8,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Install Go + Node with:
submodules: true
- name: Install Toolchain (Go, Node.js, Yarn and Make)
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get -y --no-install-recommends install golang-1.16 nodejs npm sudo apt-get -y --no-install-recommends install golang-1.16 nodejs npm make
- name: Install unicorn
run: |
./build_unicorn.sh
echo "LIBUNICORN_PATH=$(pwd)/unicorn2/" >> $GITHUB_ENV
- name: Install yarn
run: |
npm install --global yarn npm install --global yarn
yarn install - name: Build
- name: Build minigeth and run block 13284469 (builds preimage cache) run: make unicorn minigeth_mips minigeth_default_arch mipsevm yarn
run: |
(cd minigeth/ && go build)
mkdir -p /tmp/cannon
minigeth/go-ethereum 13284469
- name: Install Python deps
run: pip3 install -r mipigo/requirements.txt
- name: Build minigeth for embedded
run: |
cd mipigo
./build.sh
- name: Build mipsevm
run: |
cd mipsevm
go build
- name: Generate golden and checkpoints for 13284469
run: mipsevm/mipsevm && mipsevm/mipsevm 13284469
- name: Run test challenge - name: Run test challenge
run: npx hardhat test test/challenge_test.js run: make test_challenge
name: Test Challenge Fault name: Test Challenge Fault
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,7 +8,9 @@ jobs: ...@@ -8,7 +8,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
with:
submodules: true
- name: Install Toolchain (Go, Node.js, Yarn and Make) - name: Install Toolchain (Go, Node.js, Yarn and Make)
run: | run: |
sudo apt-get update sudo apt-get update
......
name: Test Challenge Simple name: Test Challenge Simple
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,7 +8,9 @@ jobs: ...@@ -8,7 +8,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
with:
submodules: true
- name: Install Toolchain (Go, Node.js, Yarn and Make) - name: Install Toolchain (Go, Node.js, Yarn and Make)
run: | run: |
sudo apt-get update sudo apt-get update
......
name: Test Contracts name: Test Contracts
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,14 +8,13 @@ jobs: ...@@ -8,14 +8,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Install Node - name: Install Toolchain (Node, Yarn and Make)
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get -y --no-install-recommends install nodejs npm sudo apt-get -y --no-install-recommends install nodejs npm make
- name: Install yarn
run: |
npm install --global yarn npm install --global yarn
yarn install - name: Install Dependencies
run: make yarn
- name: Hardhat Test - name: Hardhat Test
run: npx hardhat test run: make test_contracts
name: Test minigeth name: Test Minigeth
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,20 +8,14 @@ jobs: ...@@ -8,20 +8,14 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Install Go with:
submodules: true
- name: Install Toolchain (Go & Make)
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get -y --no-install-recommends install golang-1.16 sudo apt-get -y --no-install-recommends install golang-1.16 make
- name: Build minigeth - name: Build minigeth
run: | run: make minigeth_default_arch
(cd minigeth/ && go build) - name: Test Minigeth
mkdir -p /tmp/cannon run: make test_minigeth
- name: Test block 13284491 (0 tx)
run: minigeth/go-ethereum 13284491
- name: Test block 13284469 (few tx)
run: minigeth/go-ethereum 13284469
- name: Test block 13284053 (deletion)
run: minigeth/go-ethereum 13284053
- name: Test block 13303075 (uncles)
run: minigeth/go-ethereum 13303075
name: Test MIPS EVM name: Test MIPS EVM
on: push on: [push, pull_request]
jobs: jobs:
unit: unit:
...@@ -8,32 +8,15 @@ jobs: ...@@ -8,32 +8,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Code - name: Checkout Code
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Install Go + Node with:
submodules: true
- name: Install Toolchain (Go, Node, Yarn & Make)
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get -y --no-install-recommends install golang-1.16 nodejs npm sudo apt-get -y --no-install-recommends install golang-1.16 nodejs npm make
- name: Install unicorn
run: |
./build_unicorn.sh
echo "LIBUNICORN_PATH=$(pwd)/unicorn2/" >> $GITHUB_ENV
- name: Install yarn
run: |
npm install --global yarn npm install --global yarn
yarn install - name: Build
- name: Hardhat Compile run: make build
run: npx hardhat compile - name: Test MIPS EVM
- name: Build minigeth and run blocks 13284469 and 13284491 run: make test_mipsevm
run: |
(cd minigeth/ && go build)
mkdir -p /tmp/cannon
minigeth/go-ethereum 13284469
minigeth/go-ethereum 13284491
- name: Install Python deps
run: pip3 install -r mipigo/requirements.txt
- name: Build minigeth for embedded
run: |
cd mipigo
./build.sh
- name: All MIPS EVM tests
run: cd mipsevm && go test -v
build: unicorn submodules minigeth_mips minigeth_default_arch mipsevm contracts SHELL := /bin/bash
yarn
build: unicorn submodule minigeth_mips minigeth_default_arch mipsevm contracts
unicorn: unicorn:
./build_unicorn.sh ./build_unicorn.sh
submodules: submodule:
git submodule init # CI will checkout submodules on its own (and fails on these commands)
git submodule update if [[ -z "$$GITHUB_ENV" ]]; then \
git submodule init; \
git submodule update; \
fi
minigeth_mips: minigeth_mips:
cd mipigo && ./build.sh cd mipigo && ./build.sh
...@@ -17,10 +21,12 @@ minigeth_default_arch: ...@@ -17,10 +21,12 @@ minigeth_default_arch:
mipsevm: mipsevm:
cd mipsevm && go build cd mipsevm && go build
contracts: contracts: yarn
yarn
npx hardhat compile npx hardhat compile
yarn:
yarn install
define clear_cache define clear_cache
rm -rf /tmp/cannon rm -rf /tmp/cannon
mkdir -p /tmp/cannon mkdir -p /tmp/cannon
...@@ -71,5 +77,5 @@ mrproper: clean ...@@ -71,5 +77,5 @@ mrproper: clean
rm -rf node_modules rm -rf node_modules
rm -rf mipigo/venv rm -rf mipigo/venv
.PHONY: build unicorn submodules minigeth_mips minigeth_default_arch mipsevm contracts \ .PHONY: build unicorn submodule minigeth_mips minigeth_default_arch mipsevm contracts \
clean mrproper test_challenge test_mipsevm test_minigeth test yarn clean mrproper test_challenge test_mipsevm test_minigeth test
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment