From bfd0006b84ec33594fb8fc7238dc434698e349ca Mon Sep 17 00:00:00 2001 From: Max Revitt Date: Thu, 21 Jul 2022 14:12:53 +0100 Subject: [PATCH] feat(ci): hive CI tidy up run hive on successful CI only run on non-draft PR only --- .github/workflows/ci.yml | 24 +++++++++----------- .github/workflows/hive-results.yml | 2 +- .github/workflows/hive.yml | 35 ++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/hive.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79b75f7dac3..a422cc0b348 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Continuous integration +name: CI on: push: branches: @@ -10,8 +10,15 @@ on: - devel - alpha - stable + types: + - opened + - reopened + - synchronize + - ready_for_review + jobs: tests: + if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} strategy: matrix: os: [ ubuntu-20.04, macos-11 ] # list of os: https://github.com/actions/virtual-environments @@ -59,6 +66,7 @@ jobs: run: make test tests-windows: + if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} strategy: matrix: os: [ windows-2022 ] @@ -97,6 +105,7 @@ jobs: run: .\wmake.ps1 test docker: + if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }} runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -109,16 +118,3 @@ jobs: # check with root permissions, should be cached from previous build - name: sudo make docker run: sudo DOCKER_TAG=thorax/erigon:ci-$GITHUB_SHA DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) make docker - - - name: run hive - run: sudo mkdir /results && docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${{ github.workspace }}:/work gatewayfm/hive:latest --sim ethereum/engine --results-root=/work/results --client erigon_ci-$GITHUB_SHA --docker.output --loglevel 5 - - - name: parse hive output - run: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${{ github.workspace }}:/work --entrypoint /app/hivecioutput gatewayfm/hive:latest --resultsdir=/work/results --outdir=/work/results - - - name: archive hive results - uses: actions/upload-artifact@v3 - if: always() - with: - name: hive-ci-output - path: results/*.xml diff --git a/.github/workflows/hive-results.yml b/.github/workflows/hive-results.yml index c67dc5fcfab..b23dc2ce478 100644 --- a/.github/workflows/hive-results.yml +++ b/.github/workflows/hive-results.yml @@ -2,7 +2,7 @@ name: Hive results on: workflow_run: - workflows: ["Continuous integration", "ci"] + workflows: ["Hive"] types: - completed diff --git a/.github/workflows/hive.yml b/.github/workflows/hive.yml new file mode 100644 index 00000000000..3705a1fe9ca --- /dev/null +++ b/.github/workflows/hive.yml @@ -0,0 +1,35 @@ +name: Hive +on: + workflow_run: + workflows: ["CI"] + types: + - completed + +jobs: + hive: + runs-on: ubuntu-20.04 + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # fetch git tags for "git describe" + + - name: build erigon image + run: DOCKER_TAG=thorax/erigon:ci-$GITHUB_SHA DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) make docker + + # check with root permissions, should be cached from previous build + - name: build erigon image (root permissions) + run: sudo DOCKER_TAG=thorax/erigon:ci-$GITHUB_SHA DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) make docker + + - name: run hive + run: sudo mkdir /results && docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${{ github.workspace }}:/work gatewayfm/hive:latest --sim ethereum/engine --results-root=/work/results --client erigon_ci-$GITHUB_SHA --docker.output --loglevel 5 + + - name: parse hive output + run: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${{ github.workspace }}:/work --entrypoint /app/hivecioutput gatewayfm/hive:latest --resultsdir=/work/results --outdir=/work/results + + - name: archive hive results + uses: actions/upload-artifact@v3 + if: always() + with: + name: hive-ci-output + path: results/*.xml