Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify docker builds #10251

Closed
yperbasis opened this issue May 8, 2024 · 4 comments
Closed

Unify docker builds #10251

yperbasis opened this issue May 8, 2024 · 4 comments
Assignees

Comments

@yperbasis
Copy link
Member

yperbasis commented May 8, 2024

For instance, v2.60.0-rc1 is available in 3 flavours: thorax/erigon:2.60.0-rc1-arm64, thorax/erigon:2.60.0-rc1-amd64, thorax/erigon:v2.60.0-rc1. Those can probably be combined into one. Side note: the arm64/amd64 flavours are significantly smaller (30 MB vs 487MB).

Alex Sharov:
"hub.docker.com now building for: docker_{\1} branches, and all tags, and main branch as latest tag. And probably it doesn't produce multi-arch images - maybe it already can - i don't know

our .release.yml triggered from .github/workflow/release.yml and it does cross-compilation (while hub.docker.com doesn't).

Some people did try add more binaries and more archs https://github.com/ledgerwatch/erigon/pull/7912/files#diff-42e26dc67aed8aa3edb2472b4403288c1699fb6dc47419b9a475f0f224fe4689L68 - but i don't know how to review this change 🙂 and don't want support so many archs (how will download from github all this binaries).

goreleaser has many features - like publish in homebrew or apt. also alway was lazy to add it."

See also Issues #7893 & #10023 and PR #7912.

@yperbasis
Copy link
Member Author

Bumping the priority because Gnosis (Philippe Schommers) said that we should pay more attention to our releases on Docker because it is fundamental to the Gnosis ecosystem.

@somnathb1
Copy link
Contributor

For homebrew there is also: https://github.com/Homebrew/homebrew-core/blob/master/Formula/e/erigon.rb, https://formulae.brew.sh/formula/erigon

Which isn't in use now, probably. But used to be pretty good when I was on macOS back in the day

@michelemodolo
Copy link
Member

Assigning to you @lystopad

@michelemodolo michelemodolo assigned lystopad and unassigned VBulikov Jul 15, 2024
yperbasis pushed a commit that referenced this issue Aug 28, 2024
…release images. (#11766)

It is a work on #10251 .

Main changes:
- goreleaser reconfigured (more binaries added, most of the build flags
passed to goreleaser)
- released erigon binary now has "Build info" dynamic values such as a
branch, tag, commit id.
- amd64 binaries will be build using GOAMD64=v2 support for better
support of modern CPUs.
- as agreed -- now it will generate release without prefix "v", i.e.
"2.60.7", but not "v2.60.7".
- docker image will have following binaries: erigon, integration, diag,
sentry, txpool, downloader and rpcdaemon. (Exactly the same binaries as
published in artifacts in the release notes).
- multi-platform docker tag created with support of two OS/Arch --
linux/amd64/v2 and linux/arm64 which should cover almost all use cases
when docker container used.
- docker images will have labels which refer to full commit id and short
commit id, build timestamp, and others. It may help to identify which
commit is a part of the image.
- this workflow could be executed in a "dry_run" mode, i.e. to build
artifacts and keep it for a 1d in a workflow artifact store (in this
case we can download artifacts and test before actual release).

Windows artifacts will be not released for now (require fix).
lystopad added a commit that referenced this issue Sep 3, 2024
…se workflow (#11848)

New workflow ci-cd-main-branch-docker-images.yml
New Dockerfile targets for the new workflow in Dockerfile.release
Changes in release workflow: rename arg.

See issue #10251 for more
info.
@lystopad
Copy link
Member

I implemented multi-platform docker builds for releases as well as docker image releases for new commits in main branch.
Closing this issue as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants