Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ RUN yum --assumeyes install \
&& yum clean all;

### Build backplane-cli
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_golang_1.24 as bp-cli-builder
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_golang_1.25 as bp-cli-builder


# Configure the env

RUN go env -w GOTOOLCHAIN=go1.24.4+auto
RUN go env -w GOTOOLCHAIN=go1.25.3+auto

#Environment variables
ENV GOOS=linux GO111MODULE=on GOPROXY=https://proxy.golang.org
ENV GOBIN=/gobin GOPATH=/usr/src/go CGO_ENABLED=0
ENV GOTOOLCHAIN=go1.24.4+auto
ENV GOTOOLCHAIN=go1.25.3+auto

# Directory for the binary
RUN mkdir /out
Expand All @@ -35,16 +35,16 @@ RUN cp ./ocm-backplane /out
RUN chmod -R +x /out

### Build dependencies
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_golang_1.24 as dep-builder
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:rhel_9_golang_1.25 as dep-builder

# Ensure we can use Go 1.24.4
ENV GOTOOLCHAIN=go1.24.4+auto
# Ensure we can use Go version as we want
ENV GOTOOLCHAIN=go1.25.3+auto

ARG GITHUB_URL="https://api.github.com"
ARG GITHUB_TOKEN=""

# Replace version with a version number to pin a specific version (eg: "4.7.8")
ARG OC_VERSION="stable-4.16"
ARG OC_VERSION="stable-4.20"
ENV OC_URL="https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/${OC_VERSION}"

# Replace "/latest" with "/tags/{tag}" to pin to a specific version (eg: "/tags/v0.4.0")
Expand Down
16 changes: 9 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ GO_BUILD_FLAGS :=-tags 'include_gcs include_oss containers_image_openpgp gssapi'
GO_BUILD_FLAGS_DARWIN :=-tags 'include_gcs include_oss containers_image_openpgp'
GO_BUILD_FLAGS_LINUX_CROSS :=-tags 'include_gcs include_oss containers_image_openpgp'

GO_VERSION=go1.25.3+auto

GOLANGCI_LINT_VERSION=v2.5.0
GORELEASER_VERSION=v1.14.1
GOVULNCHECK_VERSION=v1.1.4
Expand Down Expand Up @@ -49,13 +51,13 @@ OUTPUT_DIR :=_output
CROSS_BUILD_BINDIR :=$(OUTPUT_DIR)/bin

build: clean
env -u GOTOOLCHAIN GOTOOLCHAIN=go1.24.4+auto go build -o ocm-backplane ./cmd/ocm-backplane || exit 1
env -u GOTOOLCHAIN GOTOOLCHAIN=$(GO_VERSION) go build -o ocm-backplane ./cmd/ocm-backplane || exit 1

build-static: clean
env -u GOTOOLCHAIN GOTOOLCHAIN=go1.24.4+auto go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o ocm-backplane ./cmd/ocm-backplane || exit 1
env -u GOTOOLCHAIN GOTOOLCHAIN=$(GO_VERSION) go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o ocm-backplane ./cmd/ocm-backplane || exit 1

install:
GOTOOLCHAIN=go1.24.4+auto go install ./cmd/ocm-backplane
GOTOOLCHAIN=$(GO_VERSION) go install ./cmd/ocm-backplane

clean:
rm -f ocm-backplane
Expand All @@ -82,18 +84,18 @@ release-with-note: ensure-goreleaser
goreleaser release --rm-dist --release-notes="$(NOTE)"

test:
env -u GOTOOLCHAIN GOTOOLCHAIN=go1.24.4+auto go test -v $(TESTOPTS) ./...
env -u GOTOOLCHAIN GOTOOLCHAIN=$(GO_VERSION) go test -v $(TESTOPTS) ./...

.PHONY: coverage
coverage:
hack/codecov.sh

cross-build-darwin-amd64:
+@GOOS=darwin GOARCH=amd64 GOTOOLCHAIN=go1.24.4+auto go build $(GO_BUILD_FLAGS_DARWIN) -o $(CROSS_BUILD_BINDIR)/ocm-backplane_darwin_amd64 ./cmd/ocm-backplane
+@GOOS=darwin GOARCH=amd64 GOTOOLCHAIN=$(GO_VERSION) go build $(GO_BUILD_FLAGS_DARWIN) -o $(CROSS_BUILD_BINDIR)/ocm-backplane_darwin_amd64 ./cmd/ocm-backplane
.PHONY: cross-build-darwin-amd64

cross-build-linux-amd64:
+@GOOS=linux GOARCH=amd64 GOTOOLCHAIN=go1.24.4+auto go build $(GO_BUILD_FLAGS_LINUX_CROSS) -o $(CROSS_BUILD_BINDIR)/ocm-backplane_linux_amd64 ./cmd/ocm-backplane
+@GOOS=linux GOARCH=amd64 GOTOOLCHAIN=$(GO_VERSION) go build $(GO_BUILD_FLAGS_LINUX_CROSS) -o $(CROSS_BUILD_BINDIR)/ocm-backplane_linux_amd64 ./cmd/ocm-backplane
.PHONY: cross-build-linux-amd64

cross-build: cross-build-darwin-amd64 cross-build-linux-amd64
Expand All @@ -106,7 +108,7 @@ clean-cross-build:

.PHONY: generate
generate:
GOTOOLCHAIN=go1.24.4+auto go generate ./...
GOTOOLCHAIN=$(GO_VERSION) go generate ./...

.PHONY: mock-gen
mock-gen:
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/openshift/backplane-cli

go 1.24.4
go 1.25.3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should ideally be the minimum version of Go that is supported. By bumping this to 1.25.3, you are saying all consumers have to be on at least 1.25.3 to use this module.

Now, since this is a CLI, ideally that is nobody, but for some reason we are using the CLI as business logic in a lot of repos :/


require (
github.com/Masterminds/semver v1.5.0
Expand Down