diff --git a/Makefile b/Makefile index 5278b6b7325..8a6e010a7a2 100644 --- a/Makefile +++ b/Makefile @@ -230,7 +230,7 @@ $(BUILD_DIR)/bin/%: @touch $@ .PHONY: docker -docker: $(RELEASE_IMAGES:%=%-docker) +docker: $(RELEASE_IMAGES:%=%-docker) ccaasbuilder .PHONY: $(RELEASE_IMAGES:%=%-docker) $(RELEASE_IMAGES:%=%-docker): %-docker: $(BUILD_DIR)/images/%/$(DUMMY) @@ -265,7 +265,7 @@ release-all: check-go-version $(RELEASE_PLATFORMS:%=release/%) .PHONY: $(RELEASE_PLATFORMS:%=release/%) $(RELEASE_PLATFORMS:%=release/%): GO_LDFLAGS = $(METADATA_VAR:%=-X $(PKGNAME)/common/metadata.%) $(RELEASE_PLATFORMS:%=release/%): release/%: $(foreach exe,$(RELEASE_EXES),release/%/bin/$(exe)) -$(RELEASE_PLATFORMS:%=release/%): ccaasbuilder +$(RELEASE_PLATFORMS:%=release/%): release/%: ccaasbuilder/% # explicit targets for all platform executables $(foreach platform, $(RELEASE_PLATFORMS), $(RELEASE_EXES:%=release/$(platform)/bin/%)): @@ -347,11 +347,18 @@ docs: @docker run --rm -v $$(pwd):/docs n42org/tox:3.4.0 sh -c 'cd /docs && tox -e docs' .PHONY: ccaasbuilder-clean -ccaasbuilder-clean: - rm -rf $(MARCH:%=release/%)/bin/ccaas_builder +ccaasbuilder-clean/%: + $(eval platform = $(patsubst ccaasbuilder/%,%,$@) ) + cd ccaas_builder && rm -rf $(strip $(platform)) .PHONY: ccaasbuilder -ccaasbuilder: ccaasbuilder-clean - cd ccaas_builder && go test -v ./cmd/detect && go build -o ../$(MARCH:%=release/%)/bin/ccaas_builder/bin/ -buildvcs=false ./cmd/detect/ - cd ccaas_builder && go test -v ./cmd/build && go build -o ../$(MARCH:%=release/%)/bin/ccaas_builder/bin/ -buildvcs=false ./cmd/build/ - cd ccaas_builder && go test -v ./cmd/release && go build -o ../$(MARCH:%=release/%)/bin/ccaas_builder/bin/ -buildvcs=false ./cmd/release/ +ccaasbuilder/%: ccaasbuilder-clean + $(eval platform = $(patsubst ccaasbuilder/%,%,$@) ) + $(eval GOOS = $(word 1,$(subst -, ,$(platform)))) + $(eval GOARCH = $(word 2,$(subst -, ,$(platform)))) + @mkdir -p ../release/$(strip $(platform))/builders/ccaas/bin + cd ccaas_builder && go test -v ./cmd/detect && GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o ../release/$(strip $(platform))/builders/ccaas/bin/ ./cmd/detect/ + cd ccaas_builder && go test -v ./cmd/build && GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o ../release/$(strip $(platform))/builders/ccaas/bin/ ./cmd/build/ + cd ccaas_builder && go test -v ./cmd/release && GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o ../release/$(strip $(platform))/builders/ccaas/bin/ ./cmd/release/ + +ccaasbuilder: ccaasbuilder/$(MARCH) \ No newline at end of file diff --git a/ci/scripts/create_binary_package.sh b/ci/scripts/create_binary_package.sh index e3d1ce3102f..13277b095c5 100755 --- a/ci/scripts/create_binary_package.sh +++ b/ci/scripts/create_binary_package.sh @@ -5,10 +5,15 @@ set -euo pipefail make "release/${TARGET}" -mkdir "release/${TARGET}/config" -mv sampleconfig/*yaml "release/${TARGET}/config" +mkdir -p "release/${TARGET}/config" +mkdir -p "release/${TARGET}/builders/ccaas" + +# cp not move otherwise this breaks your source tree +cp sampleconfig/*yaml "release/${TARGET}/config" +cp ccaas_builder/bin/${TARGET}/* "release/${TARGET}/builders/ccaas" + cd "release/${TARGET}" if [ "$TARGET" == "windows-amd64" ]; then for FILE in bin/*; do mv $FILE $FILE.exe; done fi -tar -czvf "hyperledger-fabric-${TARGET}-${RELEASE}.tar.gz" bin config +tar -czvf "hyperledger-fabric-${TARGET}-${RELEASE}.tar.gz" bin config builders diff --git a/images/peer/Dockerfile b/images/peer/Dockerfile index 9bd45d8031a..aa4bfc680d2 100644 --- a/images/peer/Dockerfile +++ b/images/peer/Dockerfile @@ -35,6 +35,6 @@ VOLUME /var/hyperledger COPY --from=peer /go/src/github.com/hyperledger/fabric/build/bin /usr/local/bin COPY --from=peer /go/src/github.com/hyperledger/fabric/sampleconfig/msp ${FABRIC_CFG_PATH}/msp COPY --from=peer /go/src/github.com/hyperledger/fabric/sampleconfig/core.yaml ${FABRIC_CFG_PATH}/core.yaml -COPY --from=peer /go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/ccaas_builder/bin/ /opt/hyperledger/ccaas_builder/bin/ +COPY --from=peer /go/src/github.com/hyperledger/fabric/release/linux-amd64/builders/ccaas/bin/ /opt/hyperledger/ccaas_builder/bin/ EXPOSE 7051 CMD ["peer","node","start"] diff --git a/integration/externalbuilders/binary/bin/detect b/integration/externalbuilders/binary/bin/detect index 8028a06efc6..7d71c616b45 100755 --- a/integration/externalbuilders/binary/bin/detect +++ b/integration/externalbuilders/binary/bin/detect @@ -18,5 +18,7 @@ if [ "$(jq -r .type "$META/metadata.json")" == "binary" ]; then exit 0 fi +>&2 cat $META/metadata.json >&2 echo "binary is the only supported type" + exit 1 diff --git a/integration/nwo/network.go b/integration/nwo/network.go index 8036a6c2611..140cf538f56 100644 --- a/integration/nwo/network.go +++ b/integration/nwo/network.go @@ -218,7 +218,7 @@ func New(c *Config, rootDir string, dockerClient *docker.Client, startPort int, Name: "binary", PropagateEnvironment: []string{"GOPROXY"}, }, { - Path: filepath.Join(cwd, "..", "..", "release", fmt.Sprintf("%s-%s", runtime.GOOS, runtime.GOARCH), "bin", "ccaas_builder"), + Path: filepath.Join(cwd, "..", "..", "release", fmt.Sprintf("%s-%s", runtime.GOOS, runtime.GOARCH), "builders", "ccaas"), Name: "ccaas", PropagateEnvironment: []string{"CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG"}, }}