Skip to content

Commit b6a73cf

Browse files
authored
feat: add ethrex (#248)
Signed-off-by: Barnabas Busa <busa.barnabas@gmail.com>
1 parent 198514c commit b6a73cf

6 files changed

Lines changed: 123 additions & 0 deletions

File tree

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Build ethrex docker image
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
repository:
7+
description: The source ethrex repository to build from
8+
default: lambdaclass/ethrex
9+
type: string
10+
required: true
11+
ref:
12+
description: The branch, tag or SHA to checkout and build from
13+
default: main
14+
type: string
15+
required: true
16+
docker_tag:
17+
description: Override target docker tag (defaults to the above source ref if left blank)
18+
type: string
19+
required: false
20+
21+
jobs:
22+
prepare:
23+
runs-on: ubuntu-latest
24+
outputs:
25+
platforms: ${{ steps.setup.outputs.platforms }}
26+
target_tag: ${{ steps.tag.outputs.docker_tag }}
27+
steps:
28+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29+
- name: Prepare Matrix
30+
id: setup
31+
uses: ./.github/actions/prepare
32+
with:
33+
client: 'ethrex'
34+
- name: Generate target tag
35+
id: tag
36+
uses: ./.github/actions/docker-tag
37+
with:
38+
input: ${{ inputs.docker_tag || inputs.ref }}
39+
deploy:
40+
needs:
41+
- prepare
42+
runs-on: ${{ matrix.runner }}
43+
continue-on-error: true
44+
strategy:
45+
matrix:
46+
include: ${{fromJson(needs.prepare.outputs.platforms)}}
47+
outputs:
48+
git_commit_hash: ${{ steps.deploy.outputs.git_commit_hash }}
49+
steps:
50+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51+
- uses: ./.github/actions/install-deps
52+
with:
53+
repository: ${{ inputs.repository }}
54+
- uses: ./.github/actions/deploy
55+
id: deploy
56+
with:
57+
source_repository: ${{ inputs.repository }}
58+
source_ref: ${{ inputs.ref }}
59+
target_tag: ${{ needs.prepare.outputs.target_tag }}-${{ matrix.slug }}
60+
target_repository: ethpandaops/ethrex
61+
platform: ${{ matrix.platform }}
62+
63+
DOCKER_USERNAME: "${{ vars.DOCKER_USERNAME }}"
64+
DOCKER_PASSWORD: "${{ secrets.DOCKER_PASSWORD }}"
65+
MACOS_PASSWORD: "${{ secrets.MACOS_PASSWORD }}"
66+
GOPROXY: "${{ vars.GOPROXY }}"
67+
manifest:
68+
needs:
69+
- prepare
70+
- deploy
71+
runs-on: ubuntu-latest
72+
outputs:
73+
docker_images: ${{ steps.manifest.outputs.docker_images }}
74+
steps:
75+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
76+
- uses: ./.github/actions/manifest
77+
id: manifest
78+
with:
79+
source_repository: ${{ inputs.repository }}
80+
source_ref: ${{ inputs.ref }}
81+
target_tag: ${{ needs.prepare.outputs.target_tag }}
82+
target_repository: ethpandaops/ethrex
83+
platforms: ${{ needs.prepare.outputs.platforms }}
84+
harbor_registry: ${{ vars.HARBOR_REGISTRY }}
85+
HARBOR_USERNAME: "${{ vars.HARBOR_USERNAME }}"
86+
HARBOR_PASSWORD: "${{ secrets.HARBOR_PASSWORD }}"
87+
git_commit_hash: ${{ needs.deploy.outputs.git_commit_hash }}
88+
89+
DOCKER_USERNAME: "${{ vars.DOCKER_USERNAME }}"
90+
DOCKER_PASSWORD: "${{ secrets.DOCKER_PASSWORD }}"
91+
notify:
92+
name: Discord Notification
93+
runs-on: ubuntu-latest
94+
needs:
95+
- prepare
96+
- deploy
97+
- manifest
98+
if: failure()
99+
steps:
100+
- name: Notify
101+
uses: nobrayner/discord-webhook@1766a33bf571acdcc0678f00da4fb83aad01ebc7 # v1
102+
with:
103+
github-token: ${{ secrets.github_token }}
104+
discord-webhook: ${{ secrets.DISCORD_WEBHOOK }}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Run the *Build **client*** workflow;
99
- [Build Eleel](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-eleel.yml) [[source](https://github.com/sigp/eleel)]
1010
- [Build Erigon](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-erigon.yml) [[source](https://github.com/ledgerwatch/erigon)]
1111
- [Build EthereumJS](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-ethereumjs.yml) [[source](https://github.com/ethereumjs/ethereumjs-monorepo)]
12+
- [Build Ethrex](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-ethrex.yml) [[source](https://github.com/lambdaclass/ethrex)]
1213
- [Build Geth](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-geth.yml) [[source](https://github.com/ethereum/go-ethereum)]
1314
- [Build Lighthouse](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-lighthouse.yml) [[source](https://github.com/sigp/lighthouse)]
1415
- [Build Lodestar](https://github.com/ethpandaops/eth-client-docker-image-builder/actions/workflows/build-push-lodestar.yml) [[source](https://github.com/chainsafe/lodestar)]

branches.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@ mev-boost-relay:
162162
branches:
163163
- main
164164

165+
ethrex:
166+
branches:
167+
- main
168+
165169
# Commented out in config.yaml
166170
# goevmlab:
167171
# branches: ["master"]

config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,16 @@
103103
repository: ethpandaops/ethereumjs
104104
tag: 7702-devnet-4-plus-t8ntool
105105

106+
##############
107+
# ethrex #
108+
##############
109+
- source:
110+
ref: main
111+
repository: lambdaclass/ethrex
112+
target:
113+
repository: ethpandaops/ethrex
114+
tag: main
115+
106116
#########################
107117
# flashbots-builder #
108118
#########################

generate_config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
'besu': 'hyperledger/besu',
1010
'erigon': 'erigontech/erigon',
1111
'ethereumjs': 'ethereumjs/ethereumjs-monorepo',
12+
'ethrex': 'lambdaclass/ethrex',
1213
'geth': 'ethereum/go-ethereum',
1314
'lighthouse': 'sigp/lighthouse',
1415
'nimbus-eth2': 'status-im/nimbus-eth2',

platforms.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,6 @@ mev-boost-relay:
9090
goevmlab:
9191
- linux/amd64
9292
- linux/arm64
93+
ethrex:
94+
- linux/amd64
95+
- linux/arm64

0 commit comments

Comments
 (0)