docker-nightly #265
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Publishes the nightly Docker image. | |
name: docker-nightly | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 1 * * *" | |
env: | |
REPO_NAME: ${{ github.repository_owner }}/reth | |
IMAGE_NAME: ${{ github.repository_owner }}/reth | |
OP_IMAGE_NAME: ${{ github.repository_owner }}/op-reth | |
CARGO_TERM_COLOR: always | |
DOCKER_IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/reth | |
OP_DOCKER_IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/op-reth | |
DOCKER_USERNAME: ${{ github.actor }} | |
jobs: | |
build: | |
name: build and push | |
runs-on: ubuntu-24.04 | |
permissions: | |
packages: write | |
contents: read | |
strategy: | |
fail-fast: false | |
matrix: | |
build: | |
- name: 'Build and push the nightly reth image' | |
command: 'make PROFILE=maxperf docker-build-push-nightly' | |
- name: 'Build and push the nightly profiling reth image' | |
command: 'make PROFILE=profiling docker-build-push-nightly-profiling' | |
- name: 'Build and push the nightly op-reth image' | |
command: 'make IMAGE_NAME=$OP_IMAGE_NAME DOCKER_IMAGE_NAME=$OP_DOCKER_IMAGE_NAME PROFILE=maxperf op-docker-build-push-nightly' | |
- name: 'Build and push the nightly profiling op-reth image' | |
command: 'make IMAGE_NAME=$OP_IMAGE_NAME DOCKER_IMAGE_NAME=$OP_DOCKER_IMAGE_NAME PROFILE=profiling op-docker-build-push-nightly-profiling' | |
steps: | |
- uses: actions/checkout@v5 | |
- name: Remove bloatware | |
uses: laverdet/remove-bloatware@v1.0.0 | |
with: | |
docker: true | |
lang: rust | |
- uses: rui314/setup-mold@v1 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Install cross main | |
id: cross_main | |
run: | | |
cargo install cross --git https://github.com/cross-rs/cross | |
- name: Log in to Docker | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io --username ${DOCKER_USERNAME} --password-stdin | |
- name: Set up Docker builder | |
run: | | |
docker run --privileged --rm tonistiigi/binfmt --install arm64,amd64 | |
docker buildx create --use --name cross-builder | |
- name: Build and push ${{ matrix.build.name }} | |
run: ${{ matrix.build.command }} |