Bug 1875557 - No mac and windows builds available for downstream OPM
Summary: No mac and windows builds available for downstream OPM
Keywords:
Status: VERIFIED
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.6
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.6.0
Assignee: Evan Cordell
QA Contact: kuiwang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-03 18:34 UTC by Evan Cordell
Modified: 2020-09-15 01:59 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github operator-framework operator-registry pull 430 None closed Bug 1875557: add mac and windows binaries to the amd64 build 2020-09-14 21:08:43 UTC
Github operator-framework operator-registry pull 435 None closed Bug 1875557: fix(bin): don't overwrite /bin 2020-09-14 21:08:43 UTC
Github operator-framework operator-registry pull 443 None open Bug 1875557: add cross build back 2020-09-14 21:17:46 UTC

Description Evan Cordell 2020-09-03 18:34:28 UTC
There are currently no mac and windows builds of `opm` downstream. These should be available so that opm users have a supported build to use on mac and windows.

Comment 3 kuiwang 2020-09-11 02:27:51 UTC
verify it on 4.6. LGTM

--
[root@preserve-olm-env operator-registry]# git branch
* master
[root@preserve-olm-env operator-registry]# git log -n 1
commit cccf27a2efe982269cdeec69a7b4643c2824a614
Merge: e92049a f1a3c75
Author: OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>
Date:   Wed Sep 9 20:36:14 2020 -0400

    Merge pull request #437 from ecordell/fix-workdir
    
    Bug 1877603: add workdir permissions back


[root@preserve-olm-env operator-registry]# docker build -t quay.io/kuiwang/operator-registry:v1875557 . 
Sending build context to Docker daemon  103.6MB
Step 1/22 : FROM registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang as builder
 ---> acc230bbf2b6
Step 2/22 : ENV GOPATH /go
 ---> Using cache
 ---> e55c661f0e1c
Step 3/22 : ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
 ---> Using cache
 ---> 00e4d004c111
Step 4/22 : WORKDIR /src
 ---> Using cache
 ---> 501412824955
Step 5/22 : COPY vendor vendor
 ---> Using cache
 ---> 5dde04d03e95
Step 6/22 : COPY cmd cmd
 ---> 8e91a97dc095
Step 7/22 : COPY pkg pkg
 ---> e20b6e67cc97
Step 8/22 : COPY Makefile go.mod go.sum ./
 ---> 7a19dd0bf552
Step 9/22 : RUN make build cross
 ---> Running in e16b60b912bd
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/appregistry-server ./cmd/appregistry-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/configmap-server ./cmd/configmap-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/initializer ./cmd/initializer
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/registry-server ./cmd/registry-server
GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'"  -tags "json1" -o bin/opm ./cmd/opm
GOOS=darwin CC=o64-clang CXX=o64-clang++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'" -tags "json1" -o "bin/darwin-amd64-opm" --ldflags "-extld=o64-clang" ./cmd/opm
GOOS=windows CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-11T02:07:31Z'" -tags "json1"  -o "bin/windows-amd64-opm" --ldflags "-extld=x86_64-w64-mingw32-gcc" ./cmd/opm
Removing intermediate container e16b60b912bd
 ---> e1d7e65234ac
Step 10/22 : RUN CGO_ENABLED=0 go build -mod=vendor -tags netgo -ldflags "-w" ./vendor/github.com/grpc-ecosystem/grpc-health-probe/...
 ---> Running in 31c1155bd445
Removing intermediate container 31c1155bd445
 ---> 50f74a863d72
Step 11/22 : FROM registry.svc.ci.openshift.org/ocp/4.6:base
 ---> bb4c863efb39
Step 12/22 : COPY --from=builder /src/bin/* /tmp/bin/
 ---> 4c1c2a108ad8
Step 13/22 : COPY --from=builder /src/grpc-health-probe /bin/grpc_health_probe
 ---> e75f78d6b02a
Step 14/22 : RUN cp -avr /tmp/bin/. /bin/
 ---> Running in 2043455a657e
'/tmp/bin/./appregistry-server' -> '/bin/./appregistry-server'
'/tmp/bin/./configmap-server' -> '/bin/./configmap-server'
'/tmp/bin/./darwin-amd64-opm' -> '/bin/./darwin-amd64-opm'
'/tmp/bin/./initializer' -> '/bin/./initializer'
'/tmp/bin/./opm' -> '/bin/./opm'
'/tmp/bin/./registry-server' -> '/bin/./registry-server'
'/tmp/bin/./windows-amd64-opm' -> '/bin/./windows-amd64-opm'
Removing intermediate container 2043455a657e
 ---> 43952447f702
Step 15/22 : RUN mkdir /registry
 ---> Running in ef2e513f1f5e
Removing intermediate container ef2e513f1f5e
 ---> bd0d0fef55a8
Step 16/22 : RUN chgrp -R 0 /registry &&     chmod -R g+rwx /registry
 ---> Running in 91bc6e0052ca
Removing intermediate container 91bc6e0052ca
 ---> 097d3b27058c
Step 17/22 : WORKDIR /registry
 ---> Running in 8bf21aa663d5
Removing intermediate container 8bf21aa663d5
 ---> 8ac285ecc80d
Step 18/22 : USER 1001
 ---> Running in 0ecd9a53bced
Removing intermediate container 0ecd9a53bced
 ---> 858a4e2a722c
Step 19/22 : EXPOSE 50051
 ---> Running in 4ccebac10ef5
Removing intermediate container 4ccebac10ef5
 ---> 0ccc5d31a0b1
Step 20/22 : ENTRYPOINT ["/bin/registry-server"]
 ---> Running in aafc8be84129
Removing intermediate container aafc8be84129
 ---> 3d3987502ca1
Step 21/22 : CMD ["--database", "/bundles.db"]
 ---> Running in 35b40ad25e7a
Removing intermediate container 35b40ad25e7a
 ---> aeee5225c24a
Step 22/22 : LABEL io.k8s.display-name="OpenShift Operator Registry"       io.k8s.description="This is a component of OpenShift Operator Lifecycle Manager and is the base for operator catalog API containers."       maintainer="Odin Team <aos-odin@redhat.com>"       summary="Operator Registry runs in a Kubernetes or OpenShift cluster to provide operator catalog data to Operator Lifecycle Manager."
 ---> Running in 9020fd45c022
Removing intermediate container 9020fd45c022
 ---> f83bd04f893d
Successfully built f83bd04f893d
Successfully tagged quay.io/kuiwang/operator-registry:v1875557
--

Comment 4 Evan Cordell 2020-09-14 21:15:19 UTC
Had some issues with the downstream builds, which caused us to remove this and then re-add it back. 

If it's okay, I'm just re-using this BZ - when the linked PR merges and the downstream build happens, we should see mac/windows builds in the downstream images.

Comment 6 kuiwang 2020-09-15 01:59:09 UTC
LGTM

--
[root@preserve-olm-env operator-registry]# git log -n 1
commit 54441b00eb0554dcf2b6117bc42fad675ef913d4
Merge: b54d23b 244ce52
Author: OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>
Date:   Mon Sep 14 17:22:58 2020 -0400

    Merge pull request #443 from ecordell/readd-cross
    
    Bug 1875557: add cross build back
[root@preserve-olm-env operator-registry]# docker build -t quay.io/kuiwang/operator-registry:v1875557 .
Sending build context to Docker daemon  103.8MB
Step 1/22 : FROM registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang as builder
rhel-8-golang-openshift-4.6-clang: Pulling from ocp/builder
77c58f19bd6e: Pull complete 
47db82df7f3f: Pull complete 
fa172450bf3a: Pull complete 
8e7469d151d3: Pull complete 
Digest: sha256:651519861e108295d76f4791874146e051d08282cc3899cd7d7e148ab5b11198
Status: Downloaded newer image for registry.svc.ci.openshift.org/ocp/builder:rhel-8-golang-openshift-4.6-clang
 ---> acc230bbf2b6
Step 2/22 : ENV GOPATH /go
 ---> Running in 57810acaae43
Removing intermediate container 57810acaae43
 ---> 0e3fd634a909
Step 3/22 : ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
 ---> Running in 4db7d40b8de3
Removing intermediate container 4db7d40b8de3
 ---> af5b85a5e8b3
Step 4/22 : WORKDIR /src
 ---> Running in 5918a8d23de6
Removing intermediate container 5918a8d23de6
 ---> c83462f601d9
Step 5/22 : COPY vendor vendor
 ---> d5dab2297726
Step 6/22 : COPY cmd cmd
 ---> b21b540ffbda
Step 7/22 : COPY pkg pkg
 ---> 499068439d86
Step 8/22 : COPY Makefile go.mod go.sum ./
 ---> ad29b445f21b
Step 9/22 : RUN make build cross
 ---> Running in 0b8a0d6dd58a
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/appregistry-server ./cmd/appregistry-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/configmap-server ./cmd/configmap-server
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/initializer ./cmd/initializer
GOFLAGS="-mod=vendor" go build  -tags "json1" -o bin/registry-server ./cmd/registry-server
GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'"  -tags "json1" -o bin/opm ./cmd/opm
GOOS=darwin CC=o64-clang CXX=o64-clang++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'" -tags "json1" -o "bin/darwin-amd64-opm" --ldflags "-extld=o64-clang" ./cmd/opm
GOOS=windows CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CGO_ENABLED=1 GOFLAGS="-mod=vendor" go build -ldflags "-X 'github.com/operator-framework/operator-registry/cmd/opm/version.gitCommit=14acf96abf0970c46e31f54de3358e7a25444195' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.opmVersion=14acf96' -X 'github.com/operator-framework/operator-registry/cmd/opm/version.buildDate=2020-09-15T01:20:17Z'" -tags "json1"  -o "bin/windows-amd64-opm" --ldflags "-extld=x86_64-w64-mingw32-gcc" ./cmd/opm
Removing intermediate container 0b8a0d6dd58a
 ---> 72505c3118b8
Step 10/22 : RUN CGO_ENABLED=0 go build -mod=vendor -tags netgo -ldflags "-w" ./vendor/github.com/grpc-ecosystem/grpc-health-probe/...
 ---> Running in 49861bf5624e
Removing intermediate container 49861bf5624e
 ---> 4e4dfd8c80f9
Step 11/22 : FROM registry.svc.ci.openshift.org/ocp/4.6:base
base: Pulling from ocp/4.6
77c58f19bd6e: Already exists 
47db82df7f3f: Already exists 
5bae0134722c: Pull complete 
22cbc6ff4c1f: Pull complete 
6e9dcd2984f6: Pull complete 
Digest: sha256:2a9204ed0ed258ca4ab731839d72bb02e767b9462a3e8ee6c38cfd8c164af48d
Status: Downloaded newer image for registry.svc.ci.openshift.org/ocp/4.6:base
 ---> bb4c863efb39
Step 12/22 : COPY --from=builder /src/bin/* /tmp/bin/
 ---> d3ce75d2aa2a
Step 13/22 : COPY --from=builder /src/grpc-health-probe /bin/grpc_health_probe
 ---> 9569510fb383
Step 14/22 : RUN cp -avr /tmp/bin/. /bin/
 ---> Running in b4e34898f3e0
'/tmp/bin/./appregistry-server' -> '/bin/./appregistry-server'
'/tmp/bin/./configmap-server' -> '/bin/./configmap-server'
'/tmp/bin/./darwin-amd64-opm' -> '/bin/./darwin-amd64-opm'
'/tmp/bin/./initializer' -> '/bin/./initializer'
'/tmp/bin/./opm' -> '/bin/./opm'
'/tmp/bin/./registry-server' -> '/bin/./registry-server'
'/tmp/bin/./windows-amd64-opm' -> '/bin/./windows-amd64-opm'
Removing intermediate container b4e34898f3e0
 ---> 1aacd6862741
Step 15/22 : RUN mkdir /registry
 ---> Running in 75a535b140b4
Removing intermediate container 75a535b140b4
 ---> eab0889bb62a
Step 16/22 : RUN chgrp -R 0 /registry &&     chmod -R g+rwx /registry
 ---> Running in 0f0217283bf8
Removing intermediate container 0f0217283bf8
 ---> 79c0c2acecb9
Step 17/22 : WORKDIR /registry
 ---> Running in 35afa34631bc
Removing intermediate container 35afa34631bc
 ---> a0bebd1ad8ef
Step 18/22 : USER 1001
 ---> Running in 81639a99d011
Removing intermediate container 81639a99d011
 ---> 72e3b4fe514e
Step 19/22 : EXPOSE 50051
 ---> Running in cc850128e0af
Removing intermediate container cc850128e0af
 ---> 90aff6b3adbe
Step 20/22 : ENTRYPOINT ["/bin/registry-server"]
 ---> Running in f59db31149d0
Removing intermediate container f59db31149d0
 ---> bf5aabf110bd
Step 21/22 : CMD ["--database", "/bundles.db"]
 ---> Running in ffeafd8938c9
Removing intermediate container ffeafd8938c9
 ---> e71c90c86e34
Step 22/22 : LABEL io.k8s.display-name="OpenShift Operator Registry"       io.k8s.description="This is a component of OpenShift Operator Lifecycle Manager and is the base for operator catalog API containers."       maintainer="Odin Team <aos-odin@redhat.com>"       summary="Operator Registry runs in a Kubernetes or OpenShift cluster to provide operator catalog data to Operator Lifecycle Manager."
 ---> Running in 330ade5d0ee8
Removing intermediate container 330ade5d0ee8
 ---> 5e9beb8475e4
Successfully built 5e9beb8475e4
Successfully tagged quay.io/kuiwang/operator-registry:v1875557


[root@preserve-olm-env operator-registry]# docker create registry-proxy.engineering.redhat.com/rh-osbs/openshift-ose-operator-registry:v4.6
18db10aff015f49589537bdeb2d5a333c26b49d3e312d1fbfbab2b17a7cb026d

[root@preserve-olm-env operator-registry]# docker cp 18db10aff015f49589537bdeb2d5a333c26b49d3e312d1fbfbab2b17a7cb026d:/bin/ tmp

[root@preserve-olm-env operator-registry]# ls -lrt tmp/bin/*opm*
-rwxr-xr-x. 1 root root 57070160 Sep 14 18:36 tmp/bin/opm
-rwxr-xr-x. 1 root root 66962408 Sep 14 18:37 tmp/bin/darwin-amd64-opm
-rwxr-xr-x. 1 root root 92657305 Sep 14 18:38 tmp/bin/windows-amd64-opm

--


Note You need to log in before you can comment on or make changes to this bug.