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

fix the multi-arch Docker peer build again #3839

Merged
merged 1 commit into from
Dec 7, 2022

Conversation

jkneubuh
Copy link
Contributor

@jkneubuh jkneubuh commented Dec 7, 2022

Signed-off-by: Josh Kneubuhl jkneubuh@us.ibm.com

Type of change

  • Bug fix
  • New feature

Description

This PR runs the Fabric release pipeline correctly as a "release" practice triggered through GH.

The FABRIC_VER of a component is inferred from the semrev tag applied by the Release process. The FABRIC_VER is applied throughout the Makefile, docker images, and metadata encoded into the client binaries.

Additional details

This commit:

  • Adds a work-around for concurrency issues encountered when building multiple target architectures with buildx in parallel. When multiple buildx builders run concurrently, an unpredictable but frequent error occurs when communicating with the buildx builder. This manifests as "Error : 403 Forbidden" when pushing some but not all of the image layers to ghcr.io. This is most likely a resource (CPU, disk, RAM, etc.) being exhausted on the GH executor, and NOT an authentication error when connecting to the container registry. (Serializing the buildx builder steps seems to have eliminated the sporadic crash.)

  • Solves a SIGSEGV error encountered when running the dynamically linked (peer, orderer, etc.) images on the alpine arm64 images. The problem stems from producing a dynamically linked (libc.so) executable on the golang-alpine base image, copying it, and running on a vanilla alpine container. (Alpine does NOT include support for libc, and something is either wrong with the libmusl for arm64, or it worked by accident on the amd64.)

$(BUILD_DIR)/bin/%: GO_LDFLAGS += -w -extldflags '-static'

Related issues

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
@jkneubuh jkneubuh requested a review from a team as a code owner December 7, 2022 19:06
@denyeart denyeart merged commit 98a8fd2 into hyperledger:release-2.5 Dec 7, 2022
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

Successfully merging this pull request may close these issues.

2 participants