Skip to content

Commit 00ade17

Browse files
authored
Merge branch 'main' into prover/setup
Signed-off-by: Leo Jeong <dreamerty@postech.ac.kr>
2 parents 927b101 + 7a4d510 commit 00ade17

File tree

341 files changed

+7902
-1294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

341 files changed

+7902
-1294
lines changed

.github/workflows/build-and-publish.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ on:
3030
traces_api_facade_changed:
3131
required: true
3232
type: string
33+
transaction_exclusion_api_changed:
34+
required: true
35+
type: string
3336
coordinator_image_tagged:
3437
required: true
3538
type: string
@@ -42,6 +45,9 @@ on:
4245
traces_api_facade_image_tagged:
4346
required: true
4447
type: string
48+
transaction_exclusion_api_image_tagged:
49+
required: true
50+
type: string
4551
secrets:
4652
DOCKERHUB_USERNAME:
4753
required: true
@@ -96,3 +102,15 @@ jobs:
96102
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
97103
image_name: consensys/linea-traces-api-facade
98104
secrets: inherit
105+
106+
transaction_exclusion_api:
107+
uses: ./.github/workflows/transaction-exclusion-api-build-and-publish.yml
108+
if: ${{ always() && (inputs.transaction_exclusion_api_changed == 'true' || inputs.transaction_exclusion_api_image_tagged != 'true') }}
109+
with:
110+
commit_tag: ${{ inputs.commit_tag }}
111+
last_commit_tag: ${{ inputs.last_commit_tag }}
112+
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
113+
develop_tag: ${{ inputs.develop_tag }}
114+
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
115+
image_name: consensys/linea-transaction-exclusion-api
116+
secrets: inherit

.github/workflows/main.yml

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ jobs:
1818
postman: ${{ steps.filter.outputs.postman }}
1919
prover: ${{ steps.filter.outputs.prover }}
2020
traces-api-facade: ${{ steps.filter.outputs.traces-api-facade }}
21+
transaction-exclusion-api: ${{ steps.filter.outputs.transaction-exclusion-api }}
2122
finalized-tag-updater: ${{ steps.filter.outputs.finalized-tag-updater }}
22-
no-changes: ${{ steps.filter.outputs.coordinator == 'false' && steps.filter.outputs.postman == 'false' && steps.filter.outputs.prover == 'false' && steps.filter.outputs.traces-api-facade == 'false' }}
23+
no-changes: ${{ steps.filter.outputs.coordinator == 'false' && steps.filter.outputs.postman == 'false' && steps.filter.outputs.prover == 'false' && steps.filter.outputs.traces-api-facade == 'false' && steps.filter.outputs.transaction-exclusion-api == 'false' }}
2324
steps:
2425
- name: Checkout
2526
uses: actions/checkout@v3
@@ -35,7 +36,6 @@ jobs:
3536
- 'testdata/**'
3637
- 'buildSrc/**'
3738
- 'jvm-libs/**'
38-
- 'prover/lib/compressor/**'
3939
- 'gradle/**'
4040
- 'build.gradle'
4141
- 'gradle.properties'
@@ -48,8 +48,6 @@ jobs:
4848
- 'config/common/traces-limits-v2.toml'
4949
- 'config/coordinator/**'
5050
- 'e2e/**'
51-
- 'contracts/abi/**'
52-
- 'contracts/contracts/**'
5351
- 'docker/compose.yml'
5452
- 'docker/compose-local-dev.overrides.yml'
5553
- 'docker/compose-local-dev-traces-v2.overrides.yml'
@@ -68,13 +66,14 @@ jobs:
6866
- 'constraints'
6967
traces-api-facade:
7068
- 'traces-api-facade/**'
71-
- 'jvm-libs/core/domain-models/**'
72-
- 'jvm-libs/json-rpc/**'
73-
- 'jvm-libs/kotlin-extensions/**'
74-
- 'jvm-libs/future-extensions/**'
75-
- 'jvm-libs/vertx-helper/**'
76-
- 'jvm-libs/traces/**'
77-
- 'jvm-libs/metrics/**'
69+
- 'jvm-libs/linea/core/domain-models/**'
70+
- 'jvm-libs/linea/core/traces/**'
71+
- 'jvm-libs/linea/core/metrics/**'
72+
- 'jvm-libs/generic/json-rpc/**'
73+
- 'jvm-libs/generic/extensions/kotlin/**'
74+
- 'jvm-libs/generic/extensions/futures/**'
75+
- 'jvm-libs/generic/vertx-helper/**'
76+
- 'jvm-libs/linea/metrics/**'
7877
- 'config/common/traces-limits-v1.toml'
7978
- '.github/workflows/traces-api-facade-*.yml'
8079
- '.github/workflows/build-and-publish.yml'
@@ -85,11 +84,30 @@ jobs:
8584
- 'build.gradle'
8685
- 'gradle.properties'
8786
- 'settings.gradle'
87+
transaction-exclusion-api:
88+
- 'transaction-exclusion-api/**'
89+
- 'jvm-libs/generic/extensions/futures/**'
90+
- 'jvm-libs/generic/extensions/kotlin/**'
91+
- 'jvm-libs/generic/json-rpc/**'
92+
- 'jvm-libs/generic/persistence/**'
93+
- 'jvm-libs/generic/vertx-helper/**'
94+
- 'jvm-libs/linea/core/long-running-service/**'
95+
- 'jvm-libs/linea/core/metrics/**'
96+
- 'jvm-libs/linea/metrics/**'
97+
- '.github/workflows/transaction-exclusion-api-*.yml'
98+
- '.github/workflows/build-and-publish.yml'
99+
- '.github/workflows/main.yml'
100+
- '.github/workflows/reuse-*.yml'
101+
- 'buildSrc/**'
102+
- 'gradle/**'
103+
- 'build.gradle'
104+
- 'gradle.properties'
105+
- 'settings.gradle'
88106
finalized-tag-updater:
89-
- 'jvm-libs/core/long-running-service/**'
90-
- 'jvm-libs/kotlin-extensions/**'
91-
- 'jvm-libs/future-extensions/**'
92-
- 'jvm-libs/web3j-extensions/**'
107+
- 'jvm-libs/linea/core/long-running-service/**'
108+
- 'jvm-libs/linea/web3j-extensions/**'
109+
- 'jvm-libs/extensions/kotlin/**'
110+
- 'jvm-libs/extensions/futures/**'
93111
- 'finalized-tag-updater/**'
94112
- '.github/workflows/main.yml'
95113
- '.github/workflows/finalized-tag-updater-github-release.yml'
@@ -107,6 +125,7 @@ jobs:
107125
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
108126
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
109127
traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }}
128+
transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }}
110129
secrets: inherit
111130

112131
manual-docker-build-and-e2e-tests:
@@ -131,10 +150,12 @@ jobs:
131150
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
132151
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
133152
traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }}
153+
transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }}
134154
coordinator_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_coordinator }}
135155
postman_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_postman }}
136156
prover_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_prover }}
137157
traces_api_facade_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_traces_api_facade }}
158+
transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }}
138159
secrets: inherit
139160

140161
# Comment out the auto build and release step below as the plugin release should be
@@ -156,9 +177,11 @@ jobs:
156177
postman_changed: ${{ needs.filter-commit-changes.outputs.postman }}
157178
prover_changed: ${{ needs.filter-commit-changes.outputs.prover }}
158179
traces_api_facade_changed: ${{ needs.filter-commit-changes.outputs.traces-api-facade }}
180+
transaction_exclusion_api_changed: ${{ needs.filter-commit-changes.outputs.transaction-exclusion-api }}
159181
coordinator_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_coordinator }}
160182
postman_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_postman }}
161183
traces_api_facade_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_traces_api_facade }}
184+
transaction_exclusion_api_image_tagged: ${{ needs.check-and-tag-images.outputs.image_tagged_transaction_exclusion_api }}
162185
secrets: inherit
163186

164187
run-e2e-tests-geth-tracing:
@@ -197,7 +220,7 @@ jobs:
197220
commit_tag: ${{ needs.store-image-name-and-tags.outputs.commit_tag }}
198221
develop_tag: ${{ needs.store-image-name-and-tags.outputs.develop_tag }}
199222
untested_tag_suffix: ${{ needs.store-image-name-and-tags.outputs.untested_tag_suffix }}
200-
image_names: '["consensys/linea-coordinator", "consensys/linea-postman", "consensys/linea-prover", "consensys/linea-traces-api-facade"]'
223+
image_names: '["consensys/linea-coordinator", "consensys/linea-postman", "consensys/linea-prover", "consensys/linea-traces-api-facade", "consensys/linea-transaction-exclusion-api"]'
201224
secrets: inherit
202225

203226
cleanup-deployments:

.github/workflows/reuse-check-images-tags-and-push.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ on:
2929
traces_api_facade_changed:
3030
required: true
3131
type: string
32+
transaction_exclusion_api_changed:
33+
required: true
34+
type: string
3235
outputs:
3336
image_tagged_coordinator:
3437
value: ${{ jobs.image_tag_push.outputs.image_tagged_coordinator }}
@@ -38,6 +41,8 @@ on:
3841
value: ${{ jobs.image_tag_push.outputs.image_tagged_postman }}
3942
image_tagged_traces_api_facade:
4043
value: ${{ jobs.image_tag_push.outputs.image_tagged_traces_api_facade }}
44+
image_tagged_transaction_exclusion_api:
45+
value: ${{ jobs.image_tag_push.outputs.image_tagged_transaction_exclusion_api }}
4146
secrets:
4247
DOCKERHUB_USERNAME:
4348
required: true
@@ -61,6 +66,8 @@ jobs:
6166
common_ancestor_commit_tag_exists_prover: ${{ steps.check_image_tags_exist_prover.outputs.common_ancestor_commit_tag_exists }}
6267
last_commit_tag_exists_traces_api_facade: ${{ steps.check_image_tags_exist_traces_api_facade.outputs.last_commit_tag_exists }}
6368
common_ancestor_commit_tag_exists_traces_api_facade: ${{ steps.check_image_tags_exist_traces_api_facade.outputs.common_ancestor_commit_tag_exists }}
69+
last_commit_tag_exists_transaction_exclusion_api: ${{ steps.check_image_tags_exist_transaction_exclusion_api.outputs.last_commit_tag_exists }}
70+
common_ancestor_commit_tag_exists_transaction_exclusion_api: ${{ steps.check_image_tags_exist_transaction_exclusion_api.outputs.common_ancestor_commit_tag_exists }}
6471
steps:
6572
- name: Checkout
6673
uses: actions/checkout@v4
@@ -108,6 +115,17 @@ jobs:
108115
image_name: consensys/linea-traces-api-facade
109116
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
110117
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
118+
119+
- name: Check image tags exist for transaction-exclusion-api
120+
uses: ./.github/actions/check-image-tags-exist
121+
if: ${{ inputs.transaction_exclusion_api_changed == 'false' }}
122+
id: check_image_tags_exist_transaction_exclusion_api
123+
with:
124+
last_commit_tag: ${{ inputs.last_commit_tag }}
125+
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
126+
image_name: consensys/linea-transaction-exclusion-api
127+
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
128+
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
111129

112130
image_tag_push:
113131
runs-on: [self-hosted, ubuntu-20.04, X64, small]
@@ -118,6 +136,7 @@ jobs:
118136
image_tagged_prover: ${{ steps.image_tag_push_prover.outputs.image_tagged }}
119137
image_tagged_postman: ${{ steps.image_tag_push_postman.outputs.image_tagged }}
120138
image_tagged_traces_api_facade: ${{ steps.image_tag_push_traces_api_facade.outputs.image_tagged }}
139+
image_tagged_transaction_exclusion_api: ${{ steps.image_tag_push_transaction_exclusion_api.outputs.image_tagged }}
121140
steps:
122141
- name: Checkout
123142
uses: actions/checkout@v4
@@ -185,3 +204,19 @@ jobs:
185204
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_traces_api_facade }}
186205
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
187206
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}
207+
208+
- name: Tag and push transaction exclusion api image
209+
id: image_tag_push_transaction_exclusion_api
210+
uses: ./.github/actions/image-tag-and-push
211+
if: ${{ inputs.transaction_exclusion_api_changed == 'false' }}
212+
with:
213+
commit_tag: ${{ inputs.commit_tag }}
214+
last_commit_tag: ${{ inputs.last_commit_tag }}
215+
common_ancestor_tag: ${{ inputs.common_ancestor_tag }}
216+
develop_tag: ${{ inputs.develop_tag }}
217+
untested_tag_suffix: ${{ inputs.untested_tag_suffix }}
218+
image_name: consensys/linea-transaction-exclusion-api
219+
last_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.last_commit_tag_exists_transaction_exclusion_api }}
220+
common_ancestor_commit_tag_exists: ${{ needs.check_image_tags_exist.outputs.common_ancestor_commit_tag_exists_transaction_exclusion_api }}
221+
docker_username: ${{ secrets.DOCKERHUB_USERNAME }}
222+
docker_password: ${{ secrets.DOCKERHUB_TOKEN }}

.github/workflows/reuse-run-e2e-tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ jobs:
7272
POSTMAN_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
7373
PROVER_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
7474
TRACES_API_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
75+
TRANSACTION_EXCLUSION_API_TAG: ${{ inputs.commit_tag }}-${{ inputs.untested_tag_suffix }}
7576
GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN_RELEASE_ACCESS }}
7677
outputs:
7778
tests_outcome: ${{ steps.run_e2e_tests.outcome }}
@@ -165,6 +166,8 @@ jobs:
165166
docker logs postman --since 1h &>> docker_logs/postman.txt
166167
docker logs traces-node --since 1h &>> docker_logs/traces-node.txt
167168
docker logs traces-node-v2 --since 1h &>> docker_logs/traces-node-v2.txt;
169+
docker logs l2-node-besu --since 1h &>> docker_logs/l2-node-besu.txt;
170+
docker logs transaction-exclusion-api --since 1h &>> docker_logs/transaction-exclusion-api.txt
168171
docker logs sequencer --since 1h &>> docker_logs/sequencer.txt
169172
- name: Archive debug logs
170173
uses: actions/upload-artifact@v4

.github/workflows/reuse-store-image-name-and-tags.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- name: Compute version tags
4343
id: step2
4444
run: |
45-
echo COMMIT_TAG=$(git rev-parse --short "$GITHUB_SHA") >> $GITHUB_OUTPUT
45+
echo COMMIT_TAG=$(git rev-parse --short "${{ github.event.pull_request.head.sha }}") >> $GITHUB_OUTPUT
4646
echo LAST_COMMIT_TAG=$(git rev-parse --short "${{ env.EVENT_BEFORE }}") >> $GITHUB_OUTPUT
4747
echo DEVELOP_TAG=develop >> $GITHUB_OUTPUT
4848
echo COMMON_ANCESTOR_TAG=$(git rev-parse --short "${{ env.COMMON_ANCESTOR }}") >> $GITHUB_OUTPUT

.github/workflows/testing.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ on:
1818
traces_api_facade_changed:
1919
required: true
2020
type: string
21+
transaction_exclusion_api_changed:
22+
required: true
23+
type: string
2124
coordinator_image_tagged:
2225
required: true
2326
type: string
@@ -27,6 +30,9 @@ on:
2730
traces_api_facade_image_tagged:
2831
required: true
2932
type: string
33+
transaction_exclusion_api_image_tagged:
34+
required: true
35+
type: string
3036
secrets:
3137
DOCKERHUB_USERNAME:
3238
required: true
@@ -55,3 +61,8 @@ jobs:
5561
uses: ./.github/workflows/traces-api-facade-testing.yml
5662
if: ${{ always() && (inputs.traces_api_facade_changed == 'true' || inputs.traces_api_facade_image_tagged != 'true') }}
5763
secrets: inherit
64+
65+
transaction-exclusion-api:
66+
uses: ./.github/workflows/transaction-exclusion-api-testing.yml
67+
if: ${{ always() && (inputs.transaction_exclusion_api_changed == 'true' || inputs.transaction_exclusion_api_image_tagged != 'true') }}
68+
secrets: inherit

.github/workflows/traces-api-facade-testing.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
retry_on: error
4444
timeout_minutes: 20
4545
command: |
46-
./gradlew traces-api-facade:app:buildNeeded jacocoRootReport
46+
./gradlew -V traces-api-facade:app:buildNeeded jacocoRootReport
4747
- name: Run tests without coverage
4848
uses: nick-fields/retry@v2
4949
if: ${{ !inputs.coverage }}
@@ -52,4 +52,4 @@ jobs:
5252
retry_on: error
5353
timeout_minutes: 20
5454
command: |
55-
./gradlew traces-api-facade:app:buildNeeded
55+
./gradlew -V traces-api-facade:app:buildNeeded
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Transaction-Exclusion-Api build and publish CI
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
commit_tag:
7+
required: true
8+
type: string
9+
last_commit_tag:
10+
required: true
11+
type: string
12+
common_ancestor_tag:
13+
required: true
14+
type: string
15+
develop_tag:
16+
required: true
17+
type: string
18+
untested_tag_suffix:
19+
required: true
20+
type: string
21+
image_name:
22+
required: true
23+
type: string
24+
secrets:
25+
DOCKERHUB_USERNAME:
26+
required: true
27+
DOCKERHUB_TOKEN:
28+
required: true
29+
30+
jobs:
31+
build-and-publish:
32+
runs-on: [self-hosted, ubuntu-20.04, X64, small]
33+
name: Transaction exclusion api build
34+
env:
35+
COMMIT_TAG: ${{ inputs.commit_tag }}
36+
DEVELOP_TAG: ${{ inputs.develop_tag }}
37+
UNTESTED_TAG_SUFFIX: ${{ inputs.untested_tag_suffix }}
38+
IMAGE_NAME: ${{ inputs.image_name }}
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v3
42+
with:
43+
fetch-depth: 0
44+
ref: ${{ github.head_ref }}
45+
- uses: actions/setup-java@v4
46+
with:
47+
distribution: temurin
48+
java-version: 21
49+
- name: Setup Gradle
50+
uses: gradle/actions/setup-gradle@v3
51+
- name: Build dist
52+
run: |
53+
./gradlew transaction-exclusion-api:app:distZip --no-daemon
54+
- name: Set up QEMU
55+
uses: docker/setup-qemu-action@v2
56+
- name: Set up Docker Buildx
57+
id: buildx
58+
uses: docker/setup-buildx-action@v2
59+
- name: Login to Docker Hub
60+
uses: docker/login-action@v1
61+
with:
62+
username: ${{ secrets.DOCKERHUB_USERNAME }}
63+
password: ${{ secrets.DOCKERHUB_TOKEN }}
64+
- name: Docker meta
65+
id: transaction-exclusion-api
66+
uses: docker/metadata-action@v3
67+
with:
68+
images: consensys/linea-transaction-exclusion-api
69+
- name: Build & push
70+
uses: docker/build-push-action@v6
71+
with:
72+
context: .
73+
build-contexts: zip=./transaction-exclusion-api/app/build/distributions/
74+
file: ./transaction-exclusion-api/Dockerfile
75+
platforms: linux/amd64,linux/arm64
76+
push: true
77+
tags: |
78+
${{ env.IMAGE_NAME }}:${{ env.COMMIT_TAG }}-${{ env.UNTESTED_TAG_SUFFIX }}
79+
cache-from: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache
80+
cache-to: type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max

0 commit comments

Comments
 (0)