The build stage now runs on the build platform and cross-compiles with GOOS/GOARCH, so one docker buildx build --platform linux/amd64,linux/arm64 produces both images without emulation.
The configuration check runs a separate native build, since an arm64 binary cannot run on an amd64 builder.
Tested: both platforms build; the arm64 binary is aarch64 with the settings compiled in; the amd64 image runs healthy and accepts mail; an empty ALLOWED_DOMAINS still fails the build. The arm64 image has not been run (no arm64 host or emulation available).
The build stage now runs on the build platform and cross-compiles with GOOS/GOARCH, so one `docker buildx build --platform linux/amd64,linux/arm64` produces both images without emulation.
The configuration check runs a separate native build, since an arm64 binary cannot run on an amd64 builder.
Tested: both platforms build; the arm64 binary is aarch64 with the settings compiled in; the amd64 image runs healthy and accepts mail; an empty ALLOWED_DOMAINS still fails the build. The arm64 image has not been run (no arm64 host or emulation available).
The build stage runs on the build platform and cross-compiles for the
target, so arm64 needs no emulation. The configuration check runs a
native build, since the target binary may not run on the builder.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The build stage now runs on the build platform and cross-compiles with GOOS/GOARCH, so one
docker buildx build --platform linux/amd64,linux/arm64produces both images without emulation.The configuration check runs a separate native build, since an arm64 binary cannot run on an amd64 builder.
Tested: both platforms build; the arm64 binary is aarch64 with the settings compiled in; the amd64 image runs healthy and accepts mail; an empty ALLOWED_DOMAINS still fails the build. The arm64 image has not been run (no arm64 host or emulation available).