Upgrade to v5 schema (#32)
* refactor vulcanize => cerc * update geth and cerc dependencies * update packages, ginkgo * refactor chain generation * update integration tests, contract, makefile * go embed contract code * rm old readme * move unit tests into package * rm ginkgo where not needed * use tx in ref integrity functions
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
name: Run all tests
|
||||
name: Run tests for PR
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
uses: ./.github/workflows/tests.yml
|
||||
uses: ./.github/workflows/test.yml
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
name: Unit and integration tests
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
unit-tests:
|
||||
name: "Run unit tests"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
check-latest: true
|
||||
- name: "Run DB container"
|
||||
run: |
|
||||
docker compose -f test/compose-db.yml up --wait --quiet-pull
|
||||
- name: "Run tests"
|
||||
run: |
|
||||
go test -v ./pkg/...
|
||||
|
||||
integration-tests:
|
||||
name: "Run integration tests"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
check-latest: true
|
||||
- name: "Install stack-orchestrator"
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: cerc-io/stack-orchestrator
|
||||
ref: v1.1.0-ff616db-202305310811 # first tag with merged changes for this stack
|
||||
path: ./stack-orchestrator
|
||||
- run: pip install ./stack-orchestrator
|
||||
- name: "Run testnet stack"
|
||||
run: ./scripts/integration-setup.sh
|
||||
- name: "Run contract deployer"
|
||||
run: |
|
||||
docker compose -f test/compose-deployer.yml up --wait --quiet-pull
|
||||
- name: "Build package and wait for testnet"
|
||||
run: |
|
||||
go build ./... &
|
||||
# Start validator at current head, but not before Merge (block 1 on test chain)
|
||||
echo "Waiting for chain head to progress..."
|
||||
while
|
||||
height=$(./scripts/get-block-number.sh $ETH_HTTP_PATH)
|
||||
[[ "$height" < 2 ]];
|
||||
do sleep 5; done
|
||||
echo "Chain has reached block $height"
|
||||
echo VALIDATE_FROM_BLOCK=$height >> "$GITHUB_ENV"
|
||||
wait $!
|
||||
- name: "Run tests"
|
||||
run: |
|
||||
go test -v ./integration/...
|
||||
@@ -1,89 +0,0 @@
|
||||
name: Test the stack.
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
env:
|
||||
STACK_ORCHESTRATOR_REF: "e62830c982d4dfc5f3c1c2b12c1754a7e9b538f1"
|
||||
GO_ETHEREUM_REF: "v1.11.5-statediff-4.3.9-alpha" # Use the tag, we are going to download the bin not build it.
|
||||
IPLD_ETH_DB_REF: "6c00c38cc4e1db6f7c4cecbb62fdfd540fba50d6"
|
||||
|
||||
jobs:
|
||||
integrationtest:
|
||||
name: Run integration tests
|
||||
env:
|
||||
GOPATH: /tmp/go
|
||||
DB_WRITE: true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create GOPATH
|
||||
run: mkdir -p /tmp/go
|
||||
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "1.19.0"
|
||||
check-latest: true
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: "./ipld-eth-db-validator"
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ env.STACK_ORCHESTRATOR_REF }}
|
||||
path: "./stack-orchestrator/"
|
||||
repository: cerc-io/mshaw_stack_hack
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ env.IPLD_ETH_DB_REF }}
|
||||
repository: cerc-io/ipld-eth-db
|
||||
path: "./ipld-eth-db/"
|
||||
|
||||
- name: Create config file
|
||||
run: |
|
||||
echo vulcanize_test_contract=$GITHUB_WORKSPACE/ipld-eth-db-validator/test/contract >> ./config.sh
|
||||
echo vulcanize_ipld_eth_db=$GITHUB_WORKSPACE/ipld-eth-db/ >> ./config.sh
|
||||
echo genesis_file_path=start-up-files/go-ethereum/genesis.json >> ./config.sh
|
||||
echo db_write=$DB_WRITE >> ./config.sh
|
||||
cat ./config.sh
|
||||
|
||||
- name: Download Geth
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/stack-orchestrator/helper-scripts
|
||||
wget https://git.vdb.to/api/packages/cerc-io/generic/go-ethereum/${{env.GO_ETHEREUM_REF}}/geth-linux-amd64
|
||||
|
||||
- name: Run docker compose
|
||||
run: |
|
||||
docker-compose \
|
||||
-f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-db-sharding.yml" \
|
||||
-f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-go-ethereum.yml" \
|
||||
-f "$GITHUB_WORKSPACE/stack-orchestrator/docker/local/docker-compose-contract.yml" \
|
||||
--env-file "$GITHUB_WORKSPACE/config.sh" \
|
||||
up -d --build
|
||||
|
||||
- name: Run integration test.
|
||||
run: |
|
||||
cd $GITHUB_WORKSPACE/ipld-eth-db-validator
|
||||
./scripts/run_integration_test.sh
|
||||
|
||||
unittest:
|
||||
name: Run unit tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create GOPATH
|
||||
run: mkdir -p /tmp/go
|
||||
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: "1.19.0"
|
||||
check-latest: true
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Spin up database
|
||||
run: |
|
||||
docker-compose up -d
|
||||
- name: Run unit tests
|
||||
run: |
|
||||
sleep 30
|
||||
PGPASSWORD=password DATABASE_USER=vdbm DATABASE_PORT=8077 DATABASE_PASSWORD=password DATABASE_HOSTNAME=127.0.0.1 DATABASE_NAME=vulcanize_testing make test
|
||||
Reference in New Issue
Block a user