Update CICD
This commit is contained in:
parent
51e8824f7a
commit
1884af321d
7
.github/workflows/checks.yml
vendored
7
.github/workflows/checks.yml
vendored
@ -6,9 +6,10 @@ jobs:
|
|||||||
linter-check:
|
linter-check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-go@v2
|
- uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
go-version: '1.16.x'
|
go-version: ">=1.18.0"
|
||||||
|
check-latest: true
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Run linter
|
- name: Run linter
|
||||||
run: go run build/ci.go lint
|
run: go run build/ci.go lint
|
||||||
|
63
.github/workflows/on-pr.yml
vendored
63
.github/workflows/on-pr.yml
vendored
@ -3,64 +3,5 @@ name: Build and test
|
|||||||
on: [pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
run-tests:
|
||||||
name: Run docker build
|
uses: ./.github/workflows/tests.yml
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Run docker build
|
|
||||||
run: docker build -t vulcanize/go-ethereum .
|
|
||||||
|
|
||||||
geth-unit-test:
|
|
||||||
name: Run geth unit test
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
go-version: [ 1.16.x]
|
|
||||||
platform: [ubuntu-latest]
|
|
||||||
runs-on: ${{ matrix.platform }}
|
|
||||||
env:
|
|
||||||
GO111MODULE: on
|
|
||||||
GOPATH: /tmp/go
|
|
||||||
steps:
|
|
||||||
- name: Create GOPATH
|
|
||||||
run: mkdir -p /tmp/go
|
|
||||||
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v2
|
|
||||||
with:
|
|
||||||
go-version: ${{ matrix.go-version }}
|
|
||||||
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Run unit tests
|
|
||||||
run: |
|
|
||||||
make test
|
|
||||||
|
|
||||||
statediff-unit-test:
|
|
||||||
name: Run state diff unit test
|
|
||||||
env:
|
|
||||||
GOPATH: /tmp/go
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
go-version: [ 1.16.x]
|
|
||||||
platform: [ubuntu-latest]
|
|
||||||
runs-on: ${{ matrix.platform }}
|
|
||||||
steps:
|
|
||||||
- name: Create GOPATH
|
|
||||||
run: mkdir -p /tmp/go
|
|
||||||
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v2
|
|
||||||
with:
|
|
||||||
go-version: ${{ matrix.go-version }}
|
|
||||||
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Start database
|
|
||||||
run: docker-compose -f docker-compose.yml up -d ipld-eth-db
|
|
||||||
|
|
||||||
- name: Run unit tests
|
|
||||||
run:
|
|
||||||
make statedifftest
|
|
||||||
|
3
.github/workflows/publish.yaml
vendored
3
.github/workflows/publish.yaml
vendored
@ -3,8 +3,11 @@ on:
|
|||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
jobs:
|
jobs:
|
||||||
|
run-tests:
|
||||||
|
uses: ./.github/workflows/tests.yml
|
||||||
build:
|
build:
|
||||||
name: Run docker build and publish
|
name: Run docker build and publish
|
||||||
|
needs: run-tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
128
.github/workflows/tests.yml
vendored
Normal file
128
.github/workflows/tests.yml
vendored
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
name: Tests for Geth that are used in multiple jobs.
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
env:
|
||||||
|
stack-orchestrator-ref: ${{ github.event.inputs.stack-orchestrator-ref || 'main'}}
|
||||||
|
ipld-eth-db-ref: ${{ github.event.inputs.ipld-ethcl-db-ref || 'main' }}
|
||||||
|
GOPATH: /tmp/go
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Run docker build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run docker build
|
||||||
|
run: docker build -t vulcanize/go-ethereum .
|
||||||
|
|
||||||
|
geth-unit-test:
|
||||||
|
name: Run geth unit test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GO111MODULE: on
|
||||||
|
steps:
|
||||||
|
- name: Create GOPATH
|
||||||
|
run: mkdir -p /tmp/go
|
||||||
|
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: ">=1.18.0"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Run unit tests
|
||||||
|
run: |
|
||||||
|
make test
|
||||||
|
|
||||||
|
statediff-unit-test:
|
||||||
|
name: Run state diff unit test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Create GOPATH
|
||||||
|
run: mkdir -p /tmp/go
|
||||||
|
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: ">=1.18.0"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Start database
|
||||||
|
run: docker-compose -f docker-compose.yml up -d ipld-eth-db
|
||||||
|
|
||||||
|
- name: Run unit tests
|
||||||
|
run: make statedifftest
|
||||||
|
|
||||||
|
private-network-test:
|
||||||
|
name: Start Geth in a private network.
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Create GOPATH
|
||||||
|
run: mkdir -p /tmp/go
|
||||||
|
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: ">=1.18.0"
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: "./go-ethereum"
|
||||||
|
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ env.stack-orchestrator-ref }}
|
||||||
|
path: "./stack-orchestrator/"
|
||||||
|
repository: vulcanize/stack-orchestrator
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ env.ipld-eth-db-ref }}
|
||||||
|
repository: vulcanize/ipld-eth-db
|
||||||
|
path: "./ipld-eth-db/"
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Create config file
|
||||||
|
run: |
|
||||||
|
echo vulcanize_ipld_eth_db=$GITHUB_WORKSPACE/ipld-eth-db/ > $GITHUB_WORKSPACE/config.sh
|
||||||
|
echo vulcanize_go_ethereum=$GITHUB_WORKSPACE/go-ethereum/ >> $GITHUB_WORKSPACE/config.sh
|
||||||
|
echo db_write=true >> $GITHUB_WORKSPACE/config.sh
|
||||||
|
cat $GITHUB_WORKSPACE/config.sh
|
||||||
|
|
||||||
|
- name: Compile Geth
|
||||||
|
run: |
|
||||||
|
cd $GITHUB_WORKSPACE/stack-orchestrator/helper-scripts
|
||||||
|
./compile-geth.sh -e docker -p $GITHUB_WORKSPACE/config.sh
|
||||||
|
cd -
|
||||||
|
|
||||||
|
- name: Run docker compose
|
||||||
|
run: |
|
||||||
|
docker-compose \
|
||||||
|
-f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-db.yml" \
|
||||||
|
-f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-go-ethereum.yml" \
|
||||||
|
--env-file $GITHUB_WORKSPACE/config.sh \
|
||||||
|
up -d --build
|
||||||
|
|
||||||
|
- name: Make sure the /root/transaction_info/STATEFUL_TEST_DEPLOYED_ADDRESS exists within a certain time frame.
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
COUNT=0
|
||||||
|
ATTEMPTS=10
|
||||||
|
until $(docker compose -f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-go-ethereum.yml" cp go-ethereum:/root/transaction_info/STATEFUL_TEST_DEPLOYED_ADDRESS ./STATEFUL_TEST_DEPLOYED_ADDRESS) || [[ $COUNT -eq $ATTEMPTS ]]; do echo -e "$(( COUNT++ ))... \c"; sleep 10; done
|
||||||
|
[[ $COUNT -eq $ATTEMPTS ]] && echo "Could not find the successful contract deployment" && (exit 1)
|
||||||
|
cat ./STATEFUL_TEST_DEPLOYED_ADDRESS
|
||||||
|
sleep 15;
|
||||||
|
|
||||||
|
- name: Create a new transaction.
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
docker compose -f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-go-ethereum.yml" exec go-ethereum /bin/bash /root/transaction_info/NEW_TRANSACTION
|
||||||
|
echo $?
|
@ -100,7 +100,7 @@ func minMax(array []*big.Int) (*big.Int, *big.Int) {
|
|||||||
// 3. Write to prometheus directly.
|
// 3. Write to prometheus directly.
|
||||||
// 4. Logs and error.
|
// 4. Logs and error.
|
||||||
func (kg *KnownGapsState) pushKnownGaps(startingBlockNumber *big.Int, endingBlockNumber *big.Int, checkedOut bool, processingKey int64) error {
|
func (kg *KnownGapsState) pushKnownGaps(startingBlockNumber *big.Int, endingBlockNumber *big.Int, checkedOut bool, processingKey int64) error {
|
||||||
if startingBlockNumber.Cmp(endingBlockNumber) != -1 {
|
if startingBlockNumber.Cmp(endingBlockNumber) == 1 {
|
||||||
return fmt.Errorf("Starting Block %d, is greater than ending block %d", startingBlockNumber, endingBlockNumber)
|
return fmt.Errorf("Starting Block %d, is greater than ending block %d", startingBlockNumber, endingBlockNumber)
|
||||||
}
|
}
|
||||||
knownGap := models.KnownGapsModel{
|
knownGap := models.KnownGapsModel{
|
||||||
|
Loading…
Reference in New Issue
Block a user