From 47ebfa205c6809adc3ac865140699e3d5dc11f31 Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Fri, 15 Sep 2023 16:30:43 +0800 Subject: [PATCH] CI fixes install SO via curl install py setup go v4 --- .gitea/workflows/test.yml | 44 +++++++++++++++++++----------------- scripts/integration-setup.sh | 9 +++++--- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index ccd2e5a..cd36bdc 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -11,34 +11,35 @@ on: # Needed until we can incorporate docker startup into the executor container env: DOCKER_HOST: unix:///var/run/dind.sock + SO_VERSION: v1.1.0-c30c779-202309082138 jobs: unit-tests: - name: "Run unit tests" + name: Run unit tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/setup-go@v3 + - uses: actions/setup-go@v4 with: go-version-file: 'go.mod' check-latest: true - - name: "Run dockerd" + - name: Run dockerd run: | dockerd -H $DOCKER_HOST --userland-proxy=false & sleep 5 - - name: "Run DB container" + - name: Run DB container run: | docker compose -f test/compose.yml up --wait - - name: "Set up Gitea access token" + - name: Set up Gitea access token env: TOKEN: ${{ secrets.CICD_REPO_TOKEN }} run: | git config --global url."https://$TOKEN:@git.vdb.to/".insteadOf https://git.vdb.to/ - - name: "Run tests" + - name: Run tests run: go test -v ./... integration-tests: - name: "Run integration tests" + name: Run integration tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -50,10 +51,10 @@ jobs: repository: cerc-io/plugeth ref: statediff path: ./plugeth - - name: "Run dockerd" + - name: Run dockerd run: dockerd -H $DOCKER_HOST --userland-proxy=false & # These images need access tokens configured - - name: "Build docker image" + - name: Build docker image env: TOKEN: ${{ secrets.CICD_REPO_TOKEN }} run: | @@ -63,26 +64,27 @@ jobs: docker build ./plugeth -t cerc/plugeth:local \ --build-arg GIT_VDBTO_TOKEN="$TOKEN" - - name: "Install stack-orchestrator" - uses: actions/checkout@v3 - with: - repository: cerc-io/stack-orchestrator - ref: v1.1.0-e856616-202308032031 - path: ./stack-orchestrator - - run: | - apt-get update && apt-get install -y python3-pip - pip install ./stack-orchestrator - - name: "Clone system-tests" + - name: Install stack-orchestrator + run: | + curl -L -O https://github.com/cerc-io/stack-orchestrator/releases/download/$SO_VERSION/laconic-so + chmod +x laconic-so + - name: Clone system-tests uses: actions/checkout@v3 with: repository: cerc-io/system-tests ref: plugeth-compat path: ./system-tests token: ${{ secrets.CICD_REPO_TOKEN }} - - name: "Run testnet stack" + - name: Run testnet stack working-directory: ./plugeth-statediff + env: + LACONIC_SO: ../laconic-so run: ./scripts/integration-setup.sh - - name: "Run tests" + - name: Install Python + env: + DEBIAN_FRONTEND: noninteractive + run: apt-get update && apt-get install -y python3-pip + - name: Run tests working-directory: ./system-tests run: | pip install pytest diff --git a/scripts/integration-setup.sh b/scripts/integration-setup.sh index cd2b096..db776fe 100755 --- a/scripts/integration-setup.sh +++ b/scripts/integration-setup.sh @@ -1,7 +1,8 @@ #!/bin/bash -# Build and deploy a stack with only the parts we need +# Builds and deploys a stack with only what we need. +# This script assumes we are running in the project root. -set -ex +set -e cluster="${1:-test}" laconic_so="${LACONIC_SO:-laconic-so} --stack fixturenet-plugeth-tx --verbose" @@ -9,11 +10,13 @@ laconic_so="${LACONIC_SO:-laconic-so} --stack fixturenet-plugeth-tx --verbose" CONFIG_DIR=$(readlink -f "${CONFIG_DIR:-$(mktemp -d)}") # Point stack-orchestrator to the multi-project root -export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-$(realpath $(git rev-parse --show-toplevel)/..)}" +export CERC_REPO_BASE_DIR="${CERC_REPO_BASE_DIR:-$(git rev-parse --show-toplevel)/..}" # v5 migrations only go up to version 18 echo CERC_STATEDIFF_DB_GOOSE_MIN_VER=18 >> $CONFIG_DIR/stack.env +set -x + if [[ -z $SKIP_BUILD ]]; then $laconic_so setup-repositories \ --exclude github.com/dboreham/foundry,github.com/cerc-io/tx-spammer,github.com/cerc-io/ipld-eth-server,git.vdb.to/cerc-io/plugeth,git.vdb.to/cerc-io/plugeth-statediff \