From 6ce1066343df09bcec446ade11a99f8755d94172 Mon Sep 17 00:00:00 2001 From: Bradley Bown <bradbown@googlemail.com> Date: Mon, 7 Oct 2024 13:35:18 +0100 Subject: [PATCH] Switch workflows to self hosted runners (#131) * Switch runner of filter job to a self-hosted runner --- .github/workflows/all-tools.yml | 8 ++--- .github/workflows/bridge-ui-e2e-tests.yml | 2 +- .github/workflows/bridge-ui-publish.yml | 4 +-- .github/workflows/cache-docker-images.yml | 4 +-- .github/workflows/codeql.yml | 2 +- .../coordinator-build-and-publish.yml | 2 +- .github/workflows/coordinator-testing.yml | 36 +------------------ .../finalized-tag-updater-github-release.yml | 2 +- .github/workflows/load-test.yml | 2 +- .github/workflows/main.yml | 4 +-- .github/workflows/maven-release.yml | 2 +- .../workflows/postman-build-and-publish.yml | 2 +- .github/workflows/postman-testing.yml | 2 +- .../workflows/prover-build-and-publish.yml | 2 +- ...ver-native-lib-blob-compressor-release.yml | 4 +-- .github/workflows/prover-testing.yml | 11 +++--- .../reuse-check-images-tags-and-push.yml | 4 +-- .github/workflows/reuse-run-e2e-tests.yml | 2 +- .../reuse-store-image-name-and-tags.yml | 2 +- .../reuse-tag-without-untested-suffix.yml | 2 +- .github/workflows/run-smc-tests.yml | 4 +-- .github/workflows/security-report-to-csv.yml | 2 +- .github/workflows/stale.yml | 2 +- .../traces-api-facade-build-and-publish.yml | 2 +- .../workflows/traces-api-facade-testing.yml | 2 +- .github/workflows/valid-audit-pr-has-tags.yml | 2 +- 26 files changed, 39 insertions(+), 74 deletions(-) diff --git a/.github/workflows/all-tools.yml b/.github/workflows/all-tools.yml index a55b0907c..6b9ea3742 100644 --- a/.github/workflows/all-tools.yml +++ b/.github/workflows/all-tools.yml @@ -16,7 +16,7 @@ on: jobs: changes: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Filter commit changes outputs: all-tools: ${{ steps.filter.outputs['all-tools'] }} @@ -39,7 +39,7 @@ jobs: uses: ./.github/workflows/reuse-store-image-name-and-tags.yml check_image_tags_exist: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Check image tags exist needs: [ changes, store_image_name_and_tags ] if: ${{ needs.changes.outputs['all-tools'] == 'false' }} @@ -56,7 +56,7 @@ jobs: docker_password: ${{ secrets.DOCKERHUB_TOKEN }} all-tools-tag-only: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: All tools tag only needs: [ changes, store_image_name_and_tags, check_image_tags_exist ] if: ${{ github.event_name != 'pull_request' && needs.changes.outputs['all-tools'] == 'false' }} @@ -83,7 +83,7 @@ jobs: build-and-publish: needs: [ changes, store_image_name_and_tags, all-tools-tag-only ] if: ${{ always() && (needs.changes.outputs['all-tools'] == 'true' || needs.all-tools-tag-only.result != 'success' || needs.all-tools-tag-only.outputs.image_tagged != 'true') }} - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] env: COMMIT_TAG: ${{ needs.store_image_name_and_tags.outputs.commit_tag }} DEVELOP_TAG: ${{ needs.store_image_name_and_tags.outputs.develop_tag }} diff --git a/.github/workflows/bridge-ui-e2e-tests.yml b/.github/workflows/bridge-ui-e2e-tests.yml index 06206d32c..fc6f1139d 100644 --- a/.github/workflows/bridge-ui-e2e-tests.yml +++ b/.github/workflows/bridge-ui-e2e-tests.yml @@ -14,7 +14,7 @@ on: jobs: run-e2e-tests: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/bridge-ui-publish.yml b/.github/workflows/bridge-ui-publish.yml index 14816cc55..1f8bc68d0 100644 --- a/.github/workflows/bridge-ui-publish.yml +++ b/.github/workflows/bridge-ui-publish.yml @@ -14,7 +14,7 @@ on: jobs: publish: - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] if: github.event_name != 'pull_request' || (github.event_name == 'pull_request' && github.event.pull_request.draft == false) steps: - name: Checkout @@ -35,7 +35,7 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 diff --git a/.github/workflows/cache-docker-images.yml b/.github/workflows/cache-docker-images.yml index 4554b8fc5..8437cb40a 100644 --- a/.github/workflows/cache-docker-images.yml +++ b/.github/workflows/cache-docker-images.yml @@ -9,7 +9,7 @@ on: jobs: changes: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Filter commit changes outputs: cache-images: ${{ steps.filter.outputs.cache-images }} @@ -31,7 +31,7 @@ jobs: pull-and-cache-images: needs: [ changes ] if: ${{ always() && needs.changes.outputs.cache-images == 'true' }} - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 31e9e799f..40b7887f7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -18,7 +18,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: [self-hosted, ubuntu-22.04, X64, small] permissions: actions: read contents: read diff --git a/.github/workflows/coordinator-build-and-publish.yml b/.github/workflows/coordinator-build-and-publish.yml index 08c0b72bd..12f4f2173 100644 --- a/.github/workflows/coordinator-build-and-publish.yml +++ b/.github/workflows/coordinator-build-and-publish.yml @@ -33,7 +33,7 @@ concurrency: jobs: build-and-publish: - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Coordinator build environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }} env: diff --git a/.github/workflows/coordinator-testing.yml b/.github/workflows/coordinator-testing.yml index da8d557dd..2915a909a 100644 --- a/.github/workflows/coordinator-testing.yml +++ b/.github/workflows/coordinator-testing.yml @@ -24,7 +24,7 @@ jobs: env: COMMIT_TAG: ${{ inputs.commit_tag }} GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }} - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, medium] name: Coordinator tests steps: - name: Checkout @@ -64,40 +64,6 @@ jobs: if-no-files-found: error path: | ${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/jacocoRootReport.xml - - name: Setup .NET Core # Required to execute ReportGenerator - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.x - dotnet-quality: 'ga' - - name: ReportGenerator - uses: danielpalme/ReportGenerator-GitHub-Action@5.2.4 - with: - reports: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/*.xml' - targetdir: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageReports' - reporttypes: MarkdownSummary - historydir: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageReports' - title: 'Kotlin Code Coverage' - - name: DeltaReportGenerator - uses: danielpalme/ReportGenerator-GitHub-Action@5.2.4 - with: - reports: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/*.xml' - targetdir: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageDeltaReports' - reporttypes: MarkdownDeltaSummary - historydir: '${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageReports' - title: 'Kotlin Code Coverage' - - name: Upload coverage report artifact - id: upload - uses: actions/upload-artifact@v4 - with: - name: CoverageReport - path: | - ${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageReports - - name: Write code coverage delta to PR - uses: mshick/add-pr-comment@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - message-path: | - ${{ github.workspace }}/build/reports/jacoco/jacocoRootReport/coverageDeltaReports/DeltaSummary.md - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: diff --git a/.github/workflows/finalized-tag-updater-github-release.yml b/.github/workflows/finalized-tag-updater-github-release.yml index 64d35d11b..1cdc41354 100644 --- a/.github/workflows/finalized-tag-updater-github-release.yml +++ b/.github/workflows/finalized-tag-updater-github-release.yml @@ -15,7 +15,7 @@ on: jobs: release: - runs-on: ubuntu-24.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/load-test.yml b/.github/workflows/load-test.yml index 79a5163ca..009473da8 100644 --- a/.github/workflows/load-test.yml +++ b/.github/workflows/load-test.yml @@ -27,7 +27,7 @@ concurrency: jobs: run-load-test: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Run Load Test steps: - name: Checkout diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c2983125..24adbf317 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: uses: ./.github/workflows/reuse-store-image-name-and-tags.yml filter-commit-changes: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Filter commit changes outputs: coordinator: ${{ steps.filter.outputs.coordinator }} @@ -191,7 +191,7 @@ jobs: cleanup-deployments: needs: [ run-e2e-tests, run-e2e-tests-geth-tracing ] if: ${{ always() }} - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - uses: strumwolf/delete-deployment-environment@v2 with: diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml index 0a533078e..f42a6ae09 100644 --- a/.github/workflows/maven-release.yml +++ b/.github/workflows/maven-release.yml @@ -18,7 +18,7 @@ on: jobs: release: - runs-on: ubuntu-24.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/postman-build-and-publish.yml b/.github/workflows/postman-build-and-publish.yml index a0085848e..18a9d173d 100644 --- a/.github/workflows/postman-build-and-publish.yml +++ b/.github/workflows/postman-build-and-publish.yml @@ -33,7 +33,7 @@ concurrency: jobs: build-and-publish: - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Postman build environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }} env: diff --git a/.github/workflows/postman-testing.yml b/.github/workflows/postman-testing.yml index 12d2a9817..520f86102 100644 --- a/.github/workflows/postman-testing.yml +++ b/.github/workflows/postman-testing.yml @@ -14,7 +14,7 @@ concurrency: jobs: run-tests: - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Postman & SDK tests steps: - name: Checkout diff --git a/.github/workflows/prover-build-and-publish.yml b/.github/workflows/prover-build-and-publish.yml index 38337ebbc..e8ada5ec0 100644 --- a/.github/workflows/prover-build-and-publish.yml +++ b/.github/workflows/prover-build-and-publish.yml @@ -36,7 +36,7 @@ env: jobs: build-and-publish: - runs-on: ubuntu-latest + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Prover build environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }} env: diff --git a/.github/workflows/prover-native-lib-blob-compressor-release.yml b/.github/workflows/prover-native-lib-blob-compressor-release.yml index 5c1dd092b..8a24dc592 100644 --- a/.github/workflows/prover-native-lib-blob-compressor-release.yml +++ b/.github/workflows/prover-native-lib-blob-compressor-release.yml @@ -21,7 +21,7 @@ on: jobs: build-linux: - runs-on: ubuntu-24.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout code uses: actions/checkout@v4 @@ -117,7 +117,7 @@ jobs: release_artefacts: name: Release artefacts needs: [ build-linux, build-linux-arm64, build-mac-os] - runs-on: besu-arm64 + runs-on: [self-hosted,ubuntu-22.04ARM64, small] steps: - name: Load cached binaries uses: actions/download-artifact@v4 diff --git a/.github/workflows/prover-testing.yml b/.github/workflows/prover-testing.yml index a6b7c4dac..5d1ac73ee 100644 --- a/.github/workflows/prover-testing.yml +++ b/.github/workflows/prover-testing.yml @@ -17,7 +17,7 @@ concurrency: jobs: staticcheck: - runs-on: ubuntu-latest + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Prover static check steps: - name: install Go @@ -58,8 +58,7 @@ jobs: strategy: matrix: go-version: [1.23.x] - os: [ubuntu-latest] - runs-on: ${{ matrix.os }} + runs-on: [self-hosted, ubuntu-22.04, X64, medium] name: Prover testing needs: - staticcheck @@ -90,7 +89,7 @@ jobs: go test -p=1 -tags=nocorset,fuzzlight -timeout=30m ./... - name: Test (32 bits & race) working-directory: prover - if: (matrix.os == 'ubuntu-latest') && (matrix.go-version == '1.20.x') + if: matrix.go-version == '1.20.x' run: | go test -p=1 -tags=nocorset,fuzzlight -timeout=30m -short -race ./... @@ -100,7 +99,7 @@ jobs: needs: - staticcheck - test - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Notify slack -- workflow failed id: slack @@ -123,7 +122,7 @@ jobs: needs: - staticcheck - test - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Notify slack -- workflow succeeded id: slack diff --git a/.github/workflows/reuse-check-images-tags-and-push.yml b/.github/workflows/reuse-check-images-tags-and-push.yml index 2f1007165..2b80f4c1a 100644 --- a/.github/workflows/reuse-check-images-tags-and-push.yml +++ b/.github/workflows/reuse-check-images-tags-and-push.yml @@ -50,7 +50,7 @@ concurrency: jobs: check_image_tags_exist: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Check image tags exist outputs: last_commit_tag_exists_coordinator: ${{ steps.check_image_tags_exist_coordinator.outputs.last_commit_tag_exists }} @@ -110,7 +110,7 @@ jobs: docker_password: ${{ secrets.DOCKERHUB_TOKEN }} image_tag_push: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Tag and push images needs: [ check_image_tags_exist ] outputs: diff --git a/.github/workflows/reuse-run-e2e-tests.yml b/.github/workflows/reuse-run-e2e-tests.yml index 96cbdada4..42c91237e 100644 --- a/.github/workflows/reuse-run-e2e-tests.yml +++ b/.github/workflows/reuse-run-e2e-tests.yml @@ -75,7 +75,7 @@ jobs: GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }} outputs: tests_outcome: ${{ steps.run_e2e_tests.outcome }} - runs-on: ubuntu-22.04 + runs-on: [self-hosted, ubuntu-22.04, X64, medium] environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }} steps: - name: Setup upterm session diff --git a/.github/workflows/reuse-store-image-name-and-tags.yml b/.github/workflows/reuse-store-image-name-and-tags.yml index a4fda8126..0f415a41f 100644 --- a/.github/workflows/reuse-store-image-name-and-tags.yml +++ b/.github/workflows/reuse-store-image-name-and-tags.yml @@ -19,7 +19,7 @@ concurrency: jobs: store_image_name_and_tags: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Compute version tags env: # REF_NAME: ${{ github.ref_name }} diff --git a/.github/workflows/reuse-tag-without-untested-suffix.yml b/.github/workflows/reuse-tag-without-untested-suffix.yml index 5dd95a7d2..32acf05d1 100644 --- a/.github/workflows/reuse-tag-without-untested-suffix.yml +++ b/.github/workflows/reuse-tag-without-untested-suffix.yml @@ -22,7 +22,7 @@ on: jobs: tag-without-untested-suffix: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: tag without untested suffix strategy: matrix: diff --git a/.github/workflows/run-smc-tests.yml b/.github/workflows/run-smc-tests.yml index dbec64b10..c53bd57b8 100644 --- a/.github/workflows/run-smc-tests.yml +++ b/.github/workflows/run-smc-tests.yml @@ -12,7 +12,7 @@ env: jobs: run-contract-tests: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Run smart contracts tests steps: - uses: actions/checkout@v4 @@ -61,7 +61,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} solidity-format-check: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Solidity format check steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/security-report-to-csv.yml b/.github/workflows/security-report-to-csv.yml index 470f2f551..4e76df856 100644 --- a/.github/workflows/security-report-to-csv.yml +++ b/.github/workflows/security-report-to-csv.yml @@ -2,7 +2,7 @@ name: Export Security Report to CSV on: workflow_dispatch jobs: data_gathering: - runs-on: ubuntu-20.04 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: CSV export uses: advanced-security/ghas-to-csv@v2 diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index e10360e36..e12dfc43b 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -11,7 +11,7 @@ permissions: jobs: stale: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - uses: actions/stale@v8 with: diff --git a/.github/workflows/traces-api-facade-build-and-publish.yml b/.github/workflows/traces-api-facade-build-and-publish.yml index 179474f46..68df2ce62 100644 --- a/.github/workflows/traces-api-facade-build-and-publish.yml +++ b/.github/workflows/traces-api-facade-build-and-publish.yml @@ -33,7 +33,7 @@ concurrency: jobs: build-and-publish: - runs-on: ubuntu-latest + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Traces api facade build environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }} env: diff --git a/.github/workflows/traces-api-facade-testing.yml b/.github/workflows/traces-api-facade-testing.yml index 2a64bb518..d49379277 100644 --- a/.github/workflows/traces-api-facade-testing.yml +++ b/.github/workflows/traces-api-facade-testing.yml @@ -21,7 +21,7 @@ concurrency: jobs: run-tests: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] name: Traces api facade tests steps: - name: Checkout diff --git a/.github/workflows/valid-audit-pr-has-tags.yml b/.github/workflows/valid-audit-pr-has-tags.yml index 407712d19..a5a25471f 100644 --- a/.github/workflows/valid-audit-pr-has-tags.yml +++ b/.github/workflows/valid-audit-pr-has-tags.yml @@ -9,7 +9,7 @@ on: jobs: check: - runs-on: besu-arm64 + runs-on: [self-hosted, ubuntu-22.04, X64, small] steps: - name: Checkout code