Skip to content

[3/3] - Replace Legacy History Commitment Implementation #3916

[3/3] - Replace Legacy History Commitment Implementation

[3/3] - Replace Legacy History Commitment Implementation #3916

Workflow file for this run

name: Go
on:
push:
branches: [main]
pull_request:
branches: ["*"]
jobs:
formatting:
name: Formatting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Go mod tidy checker
id: gomodtidy
uses: ./.github/actions/gomodtidy
gosec:
name: Gosec scan
runs-on: ubuntu-latest
env:
GO111MODULE: on
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Go 1.x
uses: actions/setup-go@v3
with:
go-version: 1.19
- name: Run Gosec Security Scanner
run: | # https://github.com/securego/gosec/issues/469
export PATH=$PATH:$(go env GOPATH)/bin
go install github.com/securego/gosec/v2/cmd/gosec@v2.12.0
gosec -exclude=G307 ./...
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: 1.20.x
id: go
- name: Golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: --timeout=10m
skip-pkg-cache: true
build:
name: Build and Test
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v2
with:
submodules: true
- name: Setup node/yarn
uses: actions/setup-node@v3
with:
node-version: 18
cache: "yarn"
cache-dependency-path: "**/contracts/yarn.lock"
- name: Install
run: cd contracts && yarn install
- name: Build solidity contracts
run: yarn --cwd contracts build
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: 1.20.x
id: go
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Build yul contracts
run: yarn --cwd contracts build:forge:yul
- name: Get dependencies
run: |
go get -v -t -d ./...
- name: AbiGen
run: go run ./solgen/main.go
- name: Build
run: go build -v ./...
- name: Test
run: ANVIL=$(which anvil) go test -v -covermode=atomic -coverprofile=coverage.out -timeout=20m ./...
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
bazel:
name: Bazel
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: bazelbuild/setup-bazelisk@v2
- name: Mount bazel cache
uses: actions/cache@v3
with:
path: "~/.cache/bazel"
key: bazel
- name: build
run: bazel build //...
- name: test
run: bazel test //... --build_manual_tests --test_output=all
# Foundry is required for end to end tests
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: coverage
run: bazel coverage --combined_report=lcov //...
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}