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