mirror of
https://github.com/vacp2p/linea-monorepo.git
synced 2026-01-09 04:08:01 -05:00
GHA - Only publish docker builds on main branch (#200)
* GHA - Only publish docker builds on main branch * GHA - Return develop_tag input * GHA - push_image input required false * GHA - remove input last_commit_tag * GHA - remove input last_commit_tag 2 * GHA - Fix if statement * GHA - Debug event name * GHA - Fix event name check * GHA - Fix tags env var * GHA - Fix load input * GHA - Separate steps for pushing images because images can't be loaded with multiple platforms * GHA - Add profile for pulling non-local images * GHA - Clean env vars and correct inputs * GHA - Remove requirement of removed job * GHA - Fix push_image type * GHA - Remove profile from local image containers * GHA - Store docker image artifact and download in e2e test job * GHA - remove custom driver input * GHA - Fix end of line * GHA - Set file location * Test file location Signed-off-by: Bradley Bown <bradbown@googlemail.com> * Testing image publishing * Fix load and push error * Commit tag from current branch, fix tags env var * Test fetch depth * Test * Revert commit tag changes * Testing removal of docker login step before push * TEST - Removal of cache * Only login to docker on main * Testing pull image without docker login * Testing pull image without docker login - 2 * Test force build * Test no changes * Docker secrets required false * Remove requirements for dockerhub credentials for pulls * Rename arfifacts and compose profile * Fix testing.yml secrets * Replace usage of inputs with env vars * Remove unnecessary inputs * Reinstate dockerhub login for e2e tests * Reinstate dockerhub login for coordinator-testing.yml * Reinstate dockerhub login for build steps * Fix secrets for build-and-publish.yml * Non concurrent manual-docker-build-and-e2e-tests * Optional docker secrets, check if they're set before running login step * Set to env vars * feat: add support for transaction-exclusion-api in new github workflow * feat: remove new line pipeline testing * feat: add echo for github.ref pipeline testing --------- Signed-off-by: Bradley Bown <bradbown@googlemail.com> Co-authored-by: jonesho <jones.ho@consensys.net> Co-authored-by: jonesho <81145364+jonesho@users.noreply.github.com>
This commit is contained in:
@@ -5,48 +5,24 @@ inputs:
|
||||
last_commit_tag:
|
||||
description: 'The tag of the last commit image'
|
||||
required: true
|
||||
common_ancestor_tag:
|
||||
description: 'The tag of the common ancestor commit image'
|
||||
required: true
|
||||
image_name:
|
||||
description: 'The name of the image to check'
|
||||
required: true
|
||||
docker_username:
|
||||
description: 'The username to login to Docker Hub'
|
||||
required: true
|
||||
docker_password:
|
||||
description: 'The password to login to Docker Hub'
|
||||
required: true
|
||||
outputs:
|
||||
last_commit_tag_exists:
|
||||
description: 'Whether the last commit image tag exists'
|
||||
value: ${{ steps.last_commit_image_exists.outputs.last_commit_tag_exists }}
|
||||
common_ancestor_commit_tag_exists:
|
||||
description: 'Whether the common ancestor commit image tag exists'
|
||||
value: ${{ steps.ancestor_commit_image_exists.outputs.common_ancestor_commit_tag_exists }}
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ inputs.docker_username }}
|
||||
password: ${{ inputs.docker_password }}
|
||||
- name: Check last commit image tag exists
|
||||
id: last_commit_image_exists
|
||||
shell: bash
|
||||
continue-on-error: true
|
||||
run: |
|
||||
echo last_commit_tag_exists=$(docker pull ${{ inputs.image_name }}:${{ inputs.last_commit_tag }} > /dev/null ; echo $?) >> $GITHUB_OUTPUT
|
||||
- name: Check ancestor commit image tag exists
|
||||
shell: bash
|
||||
id: ancestor_commit_image_exists
|
||||
continue-on-error: true
|
||||
run: |
|
||||
echo common_ancestor_commit_tag_exists=$(docker pull ${{ inputs.image_name }}:${{ inputs.common_ancestor_tag }} > /dev/null ; echo $?) >> $GITHUB_OUTPUT
|
||||
- name: Show outputs
|
||||
shell: bash
|
||||
run: |
|
||||
echo "last_commit_tag_exists: ${{ steps.last_commit_image_exists.outputs.last_commit_tag_exists }}"
|
||||
echo "common_ancestor_commit_tag_exists: ${{ steps.ancestor_commit_image_exists.outputs.common_ancestor_commit_tag_exists }}"
|
||||
34
.github/actions/image-tag-and-push/action.yml
vendored
34
.github/actions/image-tag-and-push/action.yml
vendored
@@ -8,33 +8,24 @@ inputs:
|
||||
last_commit_tag:
|
||||
description: 'The tag of the last commit image'
|
||||
required: true
|
||||
common_ancestor_tag:
|
||||
description: 'The tag of the common ancestor commit image'
|
||||
required: true
|
||||
develop_tag:
|
||||
description: 'The tag of the develop image'
|
||||
required: true
|
||||
untested_tag_suffix:
|
||||
description: 'The suffix to add to untested images'
|
||||
required: true
|
||||
image_name:
|
||||
description: 'The name of the image to tag and push'
|
||||
required: true
|
||||
last_commit_tag_exists:
|
||||
description: 'Whether the last commit image tag exists'
|
||||
required: true
|
||||
common_ancestor_commit_tag_exists:
|
||||
description: 'Whether the common ancestor commit image tag exists'
|
||||
required: true
|
||||
docker_username:
|
||||
description: 'The username to login to Docker Hub'
|
||||
required: true
|
||||
required: false
|
||||
docker_password:
|
||||
description: 'The password to login to Docker Hub'
|
||||
required: true
|
||||
required: false
|
||||
|
||||
outputs:
|
||||
image_tagged:
|
||||
image_tagged:
|
||||
description: 'Whether the image was tagged'
|
||||
value: ${{ steps.set-output.outputs.image_tagged }}
|
||||
|
||||
@@ -42,6 +33,7 @@ runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ github.ref == 'refs/heads/main' && inputs.last_commit_tag_exists == '0' }}
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ inputs.docker_username }}
|
||||
@@ -50,29 +42,15 @@ runs:
|
||||
shell: bash
|
||||
run: |
|
||||
echo IMAGE_TAGGED=false >> $GITHUB_ENV
|
||||
- name: Tag Docker image with last commit tag with the commit hash plus w/o "untested" suffix
|
||||
shell: bash
|
||||
if: ${{ inputs.last_commit_tag != '0000000' && inputs.last_commit_tag_exists == '0' }}
|
||||
run: |
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.commit_tag }} ${{ inputs.image_name }}:${{ inputs.last_commit_tag }}
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }} ${{ inputs.image_name }}:${{ inputs.last_commit_tag }}
|
||||
echo IMAGE_TAGGED=true >> $GITHUB_ENV
|
||||
- name: Tag Docker image with common ancestor commit tag with the commit hash plus w/o "untested" suffix
|
||||
shell: bash
|
||||
if: ${{ inputs.last_commit_tag == '0000000' && inputs.common_ancestor_commit_tag_exists == '0' }}
|
||||
run: |
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.commit_tag }} ${{ inputs.image_name }}:${{ inputs.common_ancestor_tag }}
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }} ${{ inputs.image_name }}:${{ inputs.common_ancestor_tag }}
|
||||
echo IMAGE_TAGGED=true >> $GITHUB_ENV
|
||||
- name: Tag Docker image with develop if on main branch
|
||||
shell: bash
|
||||
if: ${{ github.ref == 'refs/heads/main' && inputs.last_commit_tag_exists == '0' }}
|
||||
run: |
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.develop_tag }} ${{ inputs.image_name }}:${{ inputs.last_commit_tag }}
|
||||
docker buildx imagetools create --tag ${{ inputs.image_name }}:${{ inputs.commit_tag }} ${{ inputs.image_name }}:${{ inputs.last_commit_tag }}
|
||||
echo IMAGE_TAGGED=true >> $GITHUB_ENV
|
||||
|
||||
- name: Set output from environment variable
|
||||
shell: bash
|
||||
id: set-output
|
||||
run: |
|
||||
echo "image_tagged=$IMAGE_TAGGED" >> $GITHUB_OUTPUT
|
||||
echo "image_tagged=$IMAGE_TAGGED" >> $GITHUB_OUTPUT
|
||||
|
||||
6
.github/workflows/all-tools.yml
vendored
6
.github/workflows/all-tools.yml
vendored
@@ -50,10 +50,7 @@ jobs:
|
||||
uses: ./.github/actions/check-image-tags-exist
|
||||
with:
|
||||
last_commit_tag: ${{ needs.store_image_name_and_tags.outputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ needs.store_image_name_and_tags.outputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-alltools
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
all-tools-tag-only:
|
||||
runs-on: [self-hosted, ubuntu-20.04, X64, small]
|
||||
@@ -71,12 +68,9 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ needs.store_image_name_and_tags.outputs.commit_tag }}
|
||||
last_commit_tag: ${{ needs.store_image_name_and_tags.outputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ needs.store_image_name_and_tags.outputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ needs.store_image_name_and_tags.outputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ needs.store_image_name_and_tags.outputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-alltools
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
|
||||
37
.github/workflows/build-and-publish.yml
vendored
37
.github/workflows/build-and-publish.yml
vendored
@@ -6,18 +6,13 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
coordinator_changed:
|
||||
required: true
|
||||
type: string
|
||||
@@ -50,9 +45,9 @@ on:
|
||||
type: string
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
coordinator:
|
||||
@@ -60,11 +55,9 @@ jobs:
|
||||
if: ${{ always() && (inputs.coordinator_changed == 'true' || inputs.coordinator_image_tagged != 'true') }}
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-coordinator
|
||||
push_image: ${{ inputs.push_image }}
|
||||
secrets: inherit
|
||||
|
||||
prover:
|
||||
@@ -72,11 +65,9 @@ jobs:
|
||||
if: ${{ always() && (inputs.prover_changed == 'true' || inputs.prover_image_tagged != 'true') }}
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-prover
|
||||
push_image: ${{ inputs.push_image }}
|
||||
secrets: inherit
|
||||
|
||||
postman:
|
||||
@@ -84,11 +75,9 @@ jobs:
|
||||
if: ${{ always() && (inputs.postman_changed == 'true' || inputs.postman_image_tagged != 'true') }}
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-postman
|
||||
push_image: ${{ inputs.push_image }}
|
||||
secrets: inherit
|
||||
|
||||
traces-api-facade:
|
||||
@@ -96,11 +85,9 @@ jobs:
|
||||
if: ${{ always() && (inputs.traces_api_facade_changed == 'true' || inputs.traces_api_facade_image_tagged != 'true') }}
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-traces-api-facade
|
||||
push_image: ${{ inputs.push_image }}
|
||||
secrets: inherit
|
||||
|
||||
transaction_exclusion_api:
|
||||
@@ -108,9 +95,7 @@ jobs:
|
||||
if: ${{ always() && (inputs.transaction_exclusion_api_changed == 'true' || inputs.transaction_exclusion_api_image_tagged != 'true') }}
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-transaction-exclusion-api
|
||||
push_image: ${{ inputs.push_image }}
|
||||
secrets: inherit
|
||||
|
||||
@@ -6,26 +6,28 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_name:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push_image:
|
||||
description: 'Toggle whether to push image to docker registry'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: coordinator-build-and-publish-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -38,10 +40,16 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
DEVELOP_TAG: ${{ inputs.develop_tag }}
|
||||
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
|
||||
IMAGE_NAME: ${{ inputs.image_name }}
|
||||
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
|
||||
PUSH_IMAGE: ${{ inputs.push_image }}
|
||||
TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Set develop tag if main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/setup-java@v4
|
||||
@@ -54,13 +62,14 @@ jobs:
|
||||
run: |
|
||||
./gradlew coordinator:app:distZip --no-daemon
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
- name: Set up Docker Buildx - local
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Docker meta
|
||||
@@ -68,15 +77,38 @@ jobs:
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: ${{ env.IMAGE_NAME }}
|
||||
- name: Build for testing
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: zip=./coordinator/app/build/distributions/
|
||||
file: ./coordinator/Dockerfile
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
push: false
|
||||
tags: ${{ env.TAGS }}
|
||||
- name: Save Docker image as artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-coordinator-docker-image.tar.gz
|
||||
shell: bash
|
||||
- name: Upload Docker image artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linea-coordinator
|
||||
path: linea-coordinator-docker-image.tar.gz
|
||||
- name: Build & push
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: zip=./coordinator/app/build/distributions/
|
||||
file: ./coordinator/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
|
||||
tags: ${{ env.TAGS }}
|
||||
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
|
||||
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
|
||||
|
||||
|
||||
7
.github/workflows/coordinator-testing.yml
vendored
7
.github/workflows/coordinator-testing.yml
vendored
@@ -8,9 +8,9 @@ on:
|
||||
type: string
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
|
||||
concurrency:
|
||||
group: coordinator-testing-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -24,6 +24,8 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
runs-on: [self-hosted, ubuntu-22.04, X64, medium]
|
||||
name: Coordinator tests
|
||||
steps:
|
||||
@@ -52,6 +54,7 @@ jobs:
|
||||
run: |
|
||||
./gradlew -V coordinator:app:buildNeeded
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
|
||||
29
.github/workflows/main.yml
vendored
29
.github/workflows/main.yml
vendored
@@ -118,9 +118,7 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
|
||||
last_commit_tag: ${{ needs.store-image-name-and-tags.outputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ needs.store-image-name-and-tags.outputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ needs.store-image-name-and-tags.outputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
|
||||
coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }}
|
||||
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
|
||||
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
|
||||
@@ -132,6 +130,9 @@ jobs:
|
||||
runs-on: [self-hosted, ubuntu-20.04, X64, small]
|
||||
needs: [ store-image-name-and-tags, filter-commit-changes, check-and-tag-images ]
|
||||
environment: ${{ github.ref != 'refs/heads/main' && 'docker-build-and-e2e' || '' }}
|
||||
concurrency:
|
||||
group: manual-docker-build-and-e2e-tests-${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
||||
steps:
|
||||
- name: Deploy environment
|
||||
run: |
|
||||
@@ -142,10 +143,7 @@ jobs:
|
||||
uses: ./.github/workflows/build-and-publish.yml
|
||||
with:
|
||||
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
|
||||
last_commit_tag: ${{ needs.store-image-name-and-tags.outputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ needs.store-image-name-and-tags.outputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ needs.store-image-name-and-tags.outputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
|
||||
coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }}
|
||||
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
|
||||
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
|
||||
@@ -193,7 +191,6 @@ jobs:
|
||||
uses: ./.github/workflows/reuse-run-e2e-tests.yml
|
||||
with:
|
||||
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
|
||||
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
|
||||
tracing-engine: 'geth'
|
||||
e2e-tests-logs-dump: true
|
||||
secrets: inherit
|
||||
@@ -207,20 +204,28 @@ jobs:
|
||||
uses: ./.github/workflows/reuse-run-e2e-tests.yml
|
||||
with:
|
||||
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
|
||||
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
|
||||
tracing-engine: 'besu'
|
||||
e2e-tests-logs-dump: true
|
||||
secrets: inherit
|
||||
|
||||
tag-after-run-tests-success:
|
||||
publish-images-after-run-tests-success-on-main:
|
||||
needs: [ store-image-name-and-tags, testing, run-e2e-tests, run-e2e-tests-geth-tracing ]
|
||||
if: ${{ always() && needs.testing.result == 'success' && needs.run-e2e-tests.outputs.tests_outcome == 'success' && needs.run-e2e-tests-geth-tracing.outputs.tests_outcome == 'success' }}
|
||||
uses: ./.github/workflows/reuse-tag-without-untested-suffix.yml
|
||||
if: ${{ always() && github.ref == 'refs/heads/main' && needs.testing.result == 'success' && needs.run-e2e-tests.outputs.tests_outcome == 'success' && needs.run-e2e-tests-geth-tracing.outputs.tests_outcome == 'success' }}
|
||||
uses: ./.github/workflows/build-and-publish.yml
|
||||
with:
|
||||
push_image: true
|
||||
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
|
||||
develop_tag: ${{ needs.store-image-name-and-tags.outputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
|
||||
image_names: '["consensys/linea-coordinator", "consensys/linea-postman", "consensys/linea-prover", "consensys/linea-traces-api-facade", "consensys/linea-transaction-exclusion-api"]'
|
||||
coordinator_changed: ${{ needs.filter-commit-changes.outputs.coordinator }}
|
||||
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
|
||||
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
|
||||
traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }}
|
||||
transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }}
|
||||
coordinator_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_coordinator }}
|
||||
postman_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_postman }}
|
||||
prover_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_prover }}
|
||||
traces_api_facade_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_traces_api_facade }}
|
||||
transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }}
|
||||
secrets: inherit
|
||||
|
||||
cleanup-deployments:
|
||||
|
||||
61
.github/workflows/postman-build-and-publish.yml
vendored
61
.github/workflows/postman-build-and-publish.yml
vendored
@@ -6,26 +6,28 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_name:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push_image:
|
||||
description: 'Toggle whether to push image to docker registry'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: postman-build-and-publish-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -38,9 +40,16 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
DEVELOP_TAG: ${{ inputs.develop_tag }}
|
||||
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
|
||||
IMAGE_NAME: ${{ inputs.image_name }}
|
||||
PUSH_IMAGE: ${{ inputs.push_image }}
|
||||
TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Set develop tag if main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -48,6 +57,7 @@ jobs:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
@@ -62,15 +72,38 @@ jobs:
|
||||
run: |
|
||||
echo "We inject the commit tag in the docker image ${{ env.COMMIT_TAG }}"
|
||||
echo COMMIT_TAG=${{ env.COMMIT_TAG }} >> $GITHUB_ENV
|
||||
- name: Build postman image for testing
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
with:
|
||||
context: ./
|
||||
file: ./sdk/Dockerfile
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
push: false
|
||||
tags: ${{ env.TAGS }}
|
||||
build-args: |
|
||||
NATIVE_LIBS_RELEASE_TAG=blob-libs-v1.0.1
|
||||
- name: Save Docker image as artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-postman-docker-image.tar.gz
|
||||
shell: bash
|
||||
- name: Upload Docker image artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linea-postman
|
||||
path: linea-postman-docker-image.tar.gz
|
||||
- name: Build and push postman image
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
|
||||
with:
|
||||
context: ./
|
||||
file: ./sdk/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
|
||||
tags: ${{ env.TAGS }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ env.IMAGE_NAME }}:buildcache-amd64,platform=linux/amd64
|
||||
type=registry,ref=${{ env.IMAGE_NAME }}:buildcache-arm64,platform=linux/arm64
|
||||
|
||||
5
.github/workflows/postman-testing.yml
vendored
5
.github/workflows/postman-testing.yml
vendored
@@ -2,11 +2,6 @@ name: postman-and-SDK-testing
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
|
||||
concurrency:
|
||||
group: postman-testing-${{ github.workflow }}-${{ github.ref }}
|
||||
|
||||
66
.github/workflows/prover-build-and-publish.yml
vendored
66
.github/workflows/prover-build-and-publish.yml
vendored
@@ -6,26 +6,28 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_name:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push_image:
|
||||
description: 'Toggle whether to push image to docker registry'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: prover-build-and-publish-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -41,9 +43,16 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
DEVELOP_TAG: ${{ inputs.develop_tag }}
|
||||
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
|
||||
IMAGE_NAME: ${{ inputs.image_name }}
|
||||
PUSH_IMAGE: ${{ inputs.push_image }}
|
||||
TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Set develop tag if main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -51,6 +60,7 @@ jobs:
|
||||
submodules: true
|
||||
persist-credentials: false
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
@@ -63,6 +73,7 @@ jobs:
|
||||
echo COMMIT_TAG=${{ env.COMMIT_TAG }} >> $GITHUB_ENV
|
||||
- name: Build and push prover image
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
with:
|
||||
context: .
|
||||
file: ./prover/Dockerfile
|
||||
@@ -73,8 +84,35 @@ jobs:
|
||||
corset=corset/
|
||||
constraints=constraints/
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
push: false
|
||||
tags: ${{ env.TAGS }}
|
||||
- name: Save Docker image as artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-prover-docker-image.tar.gz
|
||||
shell: bash
|
||||
- name: Upload Docker image artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linea-prover
|
||||
path: linea-prover-docker-image.tar.gz
|
||||
- name: Build and push prover image
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
|
||||
with:
|
||||
context: .
|
||||
file: ./prover/Dockerfile
|
||||
build-args: |
|
||||
RUSTFLAGS="-C target-cpu=x86-64-v3"
|
||||
build-contexts: |
|
||||
prover=prover/
|
||||
corset=corset/
|
||||
constraints=constraints/
|
||||
platforms: linux/amd64
|
||||
load: false
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
|
||||
tags: ${{ env.TAGS }}
|
||||
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
|
||||
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
|
||||
|
||||
@@ -8,15 +8,9 @@ on:
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
coordinator_changed:
|
||||
required: true
|
||||
type: string
|
||||
@@ -45,9 +39,9 @@ on:
|
||||
value: ${{ jobs.image_tag_push.outputs.image_tagged_transaction_exclusion_api }}
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
|
||||
concurrency:
|
||||
group: check-images-tags-and-push-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -78,10 +72,7 @@ jobs:
|
||||
id: check_image_tags_exist_coordinator
|
||||
with:
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-coordinator
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Check image tags exist for postman
|
||||
uses: ./.github/actions/check-image-tags-exist
|
||||
@@ -89,10 +80,7 @@ jobs:
|
||||
id: check_image_tags_exist_postman
|
||||
with:
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-postman
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Check image tags exist for prover
|
||||
uses: ./.github/actions/check-image-tags-exist
|
||||
@@ -100,10 +88,7 @@ jobs:
|
||||
id: check_image_tags_exist_prover
|
||||
with:
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-prover
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Check image tags exist for traces-api-facade
|
||||
uses: ./.github/actions/check-image-tags-exist
|
||||
@@ -111,10 +96,7 @@ jobs:
|
||||
id: check_image_tags_exist_traces_api_facade
|
||||
with:
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-traces-api-facade
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Check image tags exist for transaction-exclusion-api
|
||||
uses: ./.github/actions/check-image-tags-exist
|
||||
@@ -122,13 +104,11 @@ jobs:
|
||||
id: check_image_tags_exist_transaction_exclusion_api
|
||||
with:
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
image_name: consensys/linea-transaction-exclusion-api
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
image_tag_push:
|
||||
runs-on: [self-hosted, ubuntu-20.04, X64, small]
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
name: Tag and push images
|
||||
needs: [ check_image_tags_exist ]
|
||||
outputs:
|
||||
@@ -148,12 +128,9 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-coordinator
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_coordinator }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_coordinator }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
@@ -164,12 +141,9 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-postman
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_postman }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_postman }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
@@ -180,12 +154,9 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-prover
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_prover }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_prover }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
@@ -196,12 +167,9 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-traces-api-facade
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_traces_api_facade }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_traces_api_facade }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
@@ -212,11 +180,8 @@ jobs:
|
||||
with:
|
||||
commit_tag: ${{ inputs.commit_tag }}
|
||||
last_commit_tag: ${{ inputs.last_commit_tag }}
|
||||
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
|
||||
develop_tag: ${{ inputs.develop_tag }}
|
||||
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
|
||||
image_name: consensys/linea-transaction-exclusion-api
|
||||
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_transaction_exclusion_api }}
|
||||
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_transaction_exclusion_api }}
|
||||
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
36
.github/workflows/reuse-run-e2e-tests.yml
vendored
36
.github/workflows/reuse-run-e2e-tests.yml
vendored
@@ -6,10 +6,6 @@ on:
|
||||
description: 'The commit tag to use'
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
description: 'The untested tag suffix to use'
|
||||
required: true
|
||||
type: string
|
||||
tracing-engine:
|
||||
description: Variable option for running tests against [besu] or [geth] stack
|
||||
required: true
|
||||
@@ -34,9 +30,6 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
tracing-engine:
|
||||
description: Variable option for running tests against [besu] or [geth] stack
|
||||
required: true
|
||||
@@ -61,19 +54,21 @@ on:
|
||||
value: ${{ jobs.run-e2e-tests.outputs.tests_outcome }}
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
run-e2e-tests:
|
||||
env:
|
||||
COORDINATOR_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
POSTMAN_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
PROVER_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
TRACES_API_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
TRANSACTION_EXCLUSION_API_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
COORDINATOR_TAG: ${{ inputs.commit_tag }}
|
||||
POSTMAN_TAG: ${{ inputs.commit_tag }}
|
||||
PROVER_TAG: ${{ inputs.commit_tag }}
|
||||
TRACES_API_TAG: ${{ inputs.commit_tag }}
|
||||
TRANSACTION_EXCLUSION_API_TAG: ${{ inputs.commit_tag }}
|
||||
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
outputs:
|
||||
tests_outcome: ${{ steps.run_e2e_tests.outcome }}
|
||||
runs-on: [self-hosted, ubuntu-22.04, X64, large]
|
||||
@@ -88,6 +83,7 @@ jobs:
|
||||
with:
|
||||
pnpm-install-options: '--frozen-lockfile --prefer-offline'
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
@@ -112,7 +108,17 @@ jobs:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
command: |
|
||||
make pull-all-images
|
||||
make pull-images-external-to-monorepo
|
||||
- name: Download local docker image artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
- name: Load Docker images
|
||||
run: |
|
||||
gunzip -c /runner/_work/linea-monorepo/linea-monorepo/linea-coordinator/linea-coordinator-docker-image.tar.gz | docker load &&
|
||||
gunzip -c /runner/_work/linea-monorepo/linea-monorepo/linea-postman/linea-postman-docker-image.tar.gz | docker load &&
|
||||
gunzip -c /runner/_work/linea-monorepo/linea-monorepo/linea-prover/linea-prover-docker-image.tar.gz | docker load &&
|
||||
gunzip -c /runner/_work/linea-monorepo/linea-monorepo/linea-traces-api-facade/linea-traces-api-facade-docker-image.tar.gz | docker load &&
|
||||
gunzip -c /runner/_work/linea-monorepo/linea-monorepo/linea-transaction-exclusion-api/linea-transaction-exclusion-api-docker-image.tar.gz | docker load
|
||||
shell: bash
|
||||
- name: Spin up fresh environment with geth tracing with retry
|
||||
if: ${{ inputs.tracing-engine == 'geth' }}
|
||||
uses: nick-fields/retry@v2
|
||||
|
||||
@@ -8,10 +8,6 @@ on:
|
||||
value: ${{ jobs.store_image_name_and_tags.outputs.last_commit_tag }}
|
||||
develop_tag:
|
||||
value: ${{ jobs.store_image_name_and_tags.outputs.develop_tag }}
|
||||
common_ancestor_tag:
|
||||
value: ${{ jobs.store_image_name_and_tags.outputs.common_ancestor_tag }}
|
||||
untested_tag_suffix:
|
||||
value: ${{ jobs.store_image_name_and_tags.outputs.untested_tag_suffix }}
|
||||
|
||||
concurrency:
|
||||
group: store-image-name-and-tags-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -23,35 +19,24 @@ jobs:
|
||||
name: Compute version tags
|
||||
env:
|
||||
# REF_NAME: ${{ github.ref_name }}
|
||||
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
|
||||
EVENT_BEFORE: ${{ github.event.before }}
|
||||
outputs:
|
||||
commit_tag: ${{ steps.step2.outputs.COMMIT_TAG }}
|
||||
last_commit_tag: ${{ steps.step2.outputs.LAST_COMMIT_TAG }}
|
||||
common_ancestor_tag: ${{ steps.step2.outputs.COMMON_ANCESTOR_TAG }}
|
||||
develop_tag: ${{ steps.step2.outputs.DEVELOP_TAG }}
|
||||
untested_tag_suffix: ${{ steps.step2.outputs.UNTESTED_TAG_SUFFIX }}
|
||||
commit_tag: ${{ steps.step1.outputs.COMMIT_TAG }}
|
||||
last_commit_tag: ${{ steps.step1.outputs.LAST_COMMIT_TAG }}
|
||||
develop_tag: ${{ steps.step1.outputs.DEVELOP_TAG }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Get common ancestor commit
|
||||
id: step1
|
||||
run: |
|
||||
git fetch --no-tags --depth=100 origin main ${{ env.BRANCH_NAME }}
|
||||
echo COMMON_ANCESTOR=$(git merge-base refs/remotes/origin/main refs/remotes/origin/${{ env.BRANCH_NAME }}) >> $GITHUB_ENV
|
||||
- name: Compute version tags
|
||||
id: step2
|
||||
id: step1
|
||||
run: |
|
||||
echo COMMIT_TAG=$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_OUTPUT
|
||||
echo LAST_COMMIT_TAG=$(git rev-parse --short "${{ env.EVENT_BEFORE }}") >> $GITHUB_OUTPUT
|
||||
echo DEVELOP_TAG=develop >> $GITHUB_OUTPUT
|
||||
echo COMMON_ANCESTOR_TAG=$(git rev-parse --short "${{ env.COMMON_ANCESTOR }}") >> $GITHUB_OUTPUT
|
||||
echo UNTESTED_TAG_SUFFIX=untested >> $GITHUB_OUTPUT
|
||||
- name: Show version tags
|
||||
id: step3
|
||||
id: step2
|
||||
run: |
|
||||
echo "COMMIT_TAG: ${{ steps.step2.outputs.COMMIT_TAG }}"
|
||||
echo "LAST_COMMIT_TAG: ${{ steps.step2.outputs.LAST_COMMIT_TAG }}"
|
||||
echo "DEVELOP_TAG: ${{ steps.step2.outputs.DEVELOP_TAG }}"
|
||||
echo "COMMON_ANCESTOR_TAG: ${{ steps.step2.outputs.COMMON_ANCESTOR_TAG }}"
|
||||
echo "UNTESTED_TAG_SUFFIX: ${{ steps.step2.outputs.UNTESTED_TAG_SUFFIX }}"
|
||||
echo "COMMIT_TAG: ${{ steps.step1.outputs.COMMIT_TAG }}"
|
||||
echo "LAST_COMMIT_TAG: ${{ steps.step1.outputs.LAST_COMMIT_TAG }}"
|
||||
echo "DEVELOP_TAG: ${{ steps.step1.outputs.DEVELOP_TAG }}"
|
||||
echo "github.ref: ${{ github.ref }}"
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
name: Reusable tag without untested suffix
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_names:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
tag-without-untested-suffix:
|
||||
runs-on: [self-hosted, ubuntu-20.04, X64, small]
|
||||
name: tag without untested suffix
|
||||
strategy:
|
||||
matrix:
|
||||
image_name: ${{ fromJSON(inputs.image_names) }}
|
||||
steps:
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Tag Docker image with develop if on main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
docker buildx imagetools create --tag ${{ matrix.image_name }}:${{ inputs.develop_tag }} ${{ matrix.image_name }}:${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
- name: Tag Docker image with the commit hash (without the "untested" suffix)
|
||||
run: |
|
||||
docker buildx imagetools create --tag ${{ matrix.image_name }}:${{ inputs.commit_tag }} ${{ matrix.image_name }}:${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
|
||||
7
.github/workflows/testing.yml
vendored
7
.github/workflows/testing.yml
vendored
@@ -33,11 +33,6 @@ on:
|
||||
transaction_exclusion_api_image_tagged:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
coordinator:
|
||||
@@ -60,9 +55,7 @@ jobs:
|
||||
traces-api-facade:
|
||||
uses: ./.github/workflows/traces-api-facade-testing.yml
|
||||
if: ${{ always() && (inputs.traces_api_facade_changed == 'true' || inputs.traces_api_facade_image_tagged != 'true') }}
|
||||
secrets: inherit
|
||||
|
||||
transaction-exclusion-api:
|
||||
uses: ./.github/workflows/transaction-exclusion-api-testing.yml
|
||||
if: ${{ always() && (inputs.transaction_exclusion_api_changed == 'true' || inputs.transaction_exclusion_api_image_tagged != 'true') }}
|
||||
secrets: inherit
|
||||
|
||||
@@ -6,26 +6,28 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_name:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push_image:
|
||||
description: 'Toggle whether to push image to docker registry'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: traces-api-facade-build-and-publish-${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -38,9 +40,16 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
DEVELOP_TAG: ${{ inputs.develop_tag }}
|
||||
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
|
||||
IMAGE_NAME: ${{ inputs.image_name }}
|
||||
PUSH_IMAGE: ${{ inputs.push_image }}
|
||||
TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Set develop tag if main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -57,6 +66,7 @@ jobs:
|
||||
./gradlew traces-api-facade:app:shadowJar
|
||||
echo ${{ github.workspace }}
|
||||
- name: Login to Docker Hub
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
@@ -71,15 +81,37 @@ jobs:
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: consensys/linea-traces-api-facade
|
||||
- name: Build for testing
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: jar=./traces-api-facade/app/build/libs/
|
||||
file: ./traces-api-facade/Dockerfile
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
push: false
|
||||
tags: ${{ env.TAGS }}
|
||||
- name: Save Docker image as artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-traces-api-facade-docker-image.tar.gz
|
||||
shell: bash
|
||||
- name: Upload Docker image artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linea-traces-api-facade
|
||||
path: linea-traces-api-facade-docker-image.tar.gz
|
||||
- name: Build & push
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: jar=./traces-api-facade/app/build/libs/
|
||||
file: ./traces-api-facade/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
|
||||
tags: ${{ env.TAGS }}
|
||||
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
|
||||
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
|
||||
|
||||
@@ -2,11 +2,7 @@ name: traces-api-facade-testing
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
coverage:
|
||||
|
||||
@@ -6,26 +6,32 @@ on:
|
||||
commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
last_commit_tag:
|
||||
required: true
|
||||
type: string
|
||||
common_ancestor_tag:
|
||||
required: true
|
||||
type: string
|
||||
develop_tag:
|
||||
required: true
|
||||
type: string
|
||||
untested_tag_suffix:
|
||||
required: true
|
||||
type: string
|
||||
image_name:
|
||||
required: true
|
||||
type: string
|
||||
push_image:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
required: false
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
required: false
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push_image:
|
||||
description: 'Toggle whether to push image to docker registry'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
concurrency:
|
||||
group: transaction-exclusion-api-build-and-publish-${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
||||
|
||||
jobs:
|
||||
build-and-publish:
|
||||
@@ -34,9 +40,16 @@ jobs:
|
||||
env:
|
||||
COMMIT_TAG: ${{ inputs.commit_tag }}
|
||||
DEVELOP_TAG: ${{ inputs.develop_tag }}
|
||||
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
|
||||
IMAGE_NAME: ${{ inputs.image_name }}
|
||||
PUSH_IMAGE: ${{ inputs.push_image }}
|
||||
TAGS: ${{ inputs.image_name }}:${{ inputs.commit_tag }}
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
steps:
|
||||
- name: Set develop tag if main branch
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
run: |
|
||||
echo "TAGS=${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }},${{ env.IMAGE_NAME }}:${{ env.DEVELOP_TAG }}" >> $GITHUB_ENV
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
@@ -51,30 +64,53 @@ jobs:
|
||||
- name: Build dist
|
||||
run: |
|
||||
./gradlew transaction-exclusion-api:app:distZip --no-daemon
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v1
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' && env.DOCKERHUB_TOKEN != '' }}
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx - local
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Docker meta
|
||||
id: transaction-exclusion-api
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: consensys/linea-transaction-exclusion-api
|
||||
images: ${{ env.IMAGE_NAME }}
|
||||
- name: Build for testing
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: zip=./transaction-exclusion-api/app/build/distributions/
|
||||
file: ./transaction-exclusion-api/Dockerfile
|
||||
platforms: linux/amd64
|
||||
load: true
|
||||
push: false
|
||||
tags: ${{ env.TAGS }}
|
||||
- name: Save Docker image as artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
run: |
|
||||
docker save ${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }} | gzip > linea-transaction-exclusion-api-docker-image.tar.gz
|
||||
shell: bash
|
||||
- name: Upload Docker image artifact
|
||||
if: ${{ env.PUSH_IMAGE == 'false' && github.event_name == 'pull_request' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: linea-transaction-exclusion-api
|
||||
path: linea-transaction-exclusion-api-docker-image.tar.gz
|
||||
- name: Build & push
|
||||
uses: docker/build-push-action@v6
|
||||
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
|
||||
with:
|
||||
context: .
|
||||
build-contexts: zip=./transaction-exclusion-api/app/build/distributions/
|
||||
file: ./transaction-exclusion-api/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
|
||||
tags: ${{ env.TAGS }}
|
||||
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
|
||||
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
|
||||
|
||||
@@ -2,11 +2,6 @@ name: transaction-exclusion-api-testing
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKERHUB_USERNAME:
|
||||
required: true
|
||||
DOCKERHUB_TOKEN:
|
||||
required: true
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
coverage:
|
||||
@@ -14,6 +9,10 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
concurrency:
|
||||
group: transaction-exclusion-api-testing-${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
|
||||
3
Makefile
3
Makefile
@@ -54,6 +54,9 @@ start-whole-environment-traces-v2:
|
||||
pull-all-images:
|
||||
docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml --profile l1 --profile l2 pull
|
||||
|
||||
pull-images-external-to-monorepo:
|
||||
docker compose -f docker/compose.yml -f docker/compose-local-dev-traces-v2.overrides.yml --profile external-to-monorepo pull
|
||||
|
||||
compile-contracts:
|
||||
cd contracts; \
|
||||
make compile
|
||||
|
||||
@@ -27,7 +27,7 @@ services:
|
||||
hostname: traces-node-v2
|
||||
container_name: traces-node-v2
|
||||
image: consensys/linea-besu:24.9-delivery32
|
||||
profiles: [ "l2", "l2-bc", "debug" ]
|
||||
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
traces-node-v2-plugin-downloader:
|
||||
condition: service_completed_successfully
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
hostname: sequencer
|
||||
container_name: sequencer
|
||||
image: consensys/linea-besu:${SEQUENCER_TAG:-24.10-delivery34}
|
||||
profiles: [ "l2", "l2-bc", "debug" ]
|
||||
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
linea-besu-sequencer-plugin-downloader:
|
||||
condition: service_completed_successfully
|
||||
@@ -90,7 +90,7 @@ services:
|
||||
hostname: l2-node
|
||||
image: consensys/linea-geth:${ZKGETH_TAG:-0588665}
|
||||
platform: linux/amd64
|
||||
profiles: [ "l2", "l2-bc", "debug" ]
|
||||
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
sequencer:
|
||||
condition: service_healthy
|
||||
@@ -123,7 +123,7 @@ services:
|
||||
hostname: l2-node-besu
|
||||
container_name: l2-node-besu
|
||||
image: consensys/linea-besu:24.10-delivery34
|
||||
profiles: [ "l2", "l2-bc", "debug" ]
|
||||
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
sequencer:
|
||||
condition: service_healthy
|
||||
@@ -172,7 +172,7 @@ services:
|
||||
hostname: traces-node
|
||||
image: consensys/linea-geth:${ZKGETH_TAG:-0588665}
|
||||
platform: linux/amd64
|
||||
profiles: [ "l2", "l2-bc", "debug" ]
|
||||
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
sequencer:
|
||||
condition: service_healthy
|
||||
@@ -308,7 +308,7 @@ services:
|
||||
transaction-exclusion-api:
|
||||
hostname: transaction-exclusion-api
|
||||
container_name: transaction-exclusion-api
|
||||
image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-d227ddf}
|
||||
image: consensys/linea-transaction-exclusion-api:${TRANSACTION_EXCLUSION_API_TAG:-cd58916}
|
||||
profiles: [ "l2", "debug" ]
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
@@ -367,7 +367,7 @@ services:
|
||||
hostname: web3signer
|
||||
container_name: web3signer
|
||||
image: consensys/web3signer:23.3-jdk17
|
||||
profiles: [ "l2", "debug" ]
|
||||
profiles: [ "l2", "debug", "external-to-monorepo" ]
|
||||
ports:
|
||||
- "9000:9000"
|
||||
command:
|
||||
@@ -396,7 +396,7 @@ services:
|
||||
image: postgres:14.5
|
||||
hostname: postgres
|
||||
container_name: postgres
|
||||
profiles: [ "l2", "debug" ]
|
||||
profiles: [ "l2", "debug", "external-to-monorepo" ]
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
||||
@@ -426,7 +426,7 @@ services:
|
||||
container_name: l1-el-node
|
||||
hostname: l1-el-node
|
||||
image: hyperledger/besu:24.6.0
|
||||
profiles: [ "l1", "debug" ]
|
||||
profiles: [ "l1", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
l1-node-genesis-generator:
|
||||
condition: service_completed_successfully
|
||||
@@ -458,7 +458,7 @@ services:
|
||||
container_name: l1-cl-node
|
||||
hostname: l1-cl-node
|
||||
image: consensys/teku:24.2.0
|
||||
profiles: [ "l1", "debug" ]
|
||||
profiles: [ "l1", "debug", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
l1-el-node:
|
||||
condition: service_healthy
|
||||
@@ -484,7 +484,7 @@ services:
|
||||
l1-node-genesis-generator:
|
||||
build:
|
||||
context: ./config/l1-node/
|
||||
profiles: [ "l1", "debug" ]
|
||||
profiles: [ "l1", "debug", "external-to-monorepo" ]
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- -c
|
||||
@@ -532,7 +532,7 @@ services:
|
||||
image: consensys/linea-besu:linea-delivery-27
|
||||
hostname: zkbesu-shomei
|
||||
container_name: zkbesu-shomei
|
||||
profiles: [ "l2", "l2-bc" ]
|
||||
profiles: [ "l2", "l2-bc", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
shomei-plugin-downloader:
|
||||
condition: service_completed_successfully
|
||||
@@ -578,7 +578,7 @@ services:
|
||||
image: consensys/linea-shomei:2.2.0
|
||||
hostname: shomei
|
||||
container_name: shomei
|
||||
profiles: [ "l2", "l2-bc" ]
|
||||
profiles: [ "l2", "l2-bc", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
zkbesu-shomei:
|
||||
condition: service_started
|
||||
@@ -614,7 +614,7 @@ services:
|
||||
image: consensys/linea-shomei:2.2.0
|
||||
hostname: shomei-frontend
|
||||
container_name: shomei-frontend
|
||||
profiles: [ "l2", "l2-bc" ]
|
||||
profiles: [ "l2", "l2-bc", "external-to-monorepo" ]
|
||||
depends_on:
|
||||
zkbesu-shomei:
|
||||
condition: service_started
|
||||
@@ -655,7 +655,7 @@ services:
|
||||
|
||||
shomei-plugin-downloader:
|
||||
container_name: shomei-plugin-downloader
|
||||
profiles: ["l2", "l2-bc"]
|
||||
profiles: [ "l2", "l2-bc", "external-to-monorepo" ]
|
||||
image: busybox:1.36.1
|
||||
command: [ "sh", "/file-downloader.sh", "https://github.com/Consensys/besu-shomei-plugin/releases/download/v0.3.1/besu-shomei-plugin-v0.3.1.jar", "/shomei-plugin" ]
|
||||
volumes:
|
||||
|
||||
Reference in New Issue
Block a user