diff --git a/Containerfile.tests b/Containerfile.tests deleted file mode 100644 index d8fd886ad..000000000 --- a/Containerfile.tests +++ /dev/null @@ -1,26 +0,0 @@ -# -# Copyright (c) 2023 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except -# in compliance with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under the License -# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -# or implied. See the License for the specific language governing permissions and limitations under -# the License. -# - -FROM docker.io/golang:1.21 AS builder -WORKDIR /go/src/github.com/openshift-kni/oran-o2ims -COPY . . - -# Install ginkgo & mockgen. -RUN go install github.com/onsi/ginkgo/v2/ginkgo@$(go list -f '{{.Version}}' -m github.com/onsi/ginkgo/v2) && \ - go install go.uber.org/mock/mockgen@v0.3.0 - -# Install golangci-lint. -RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.55.2 && \ - golangci-lint --version - diff --git a/Containerfile.tools b/Containerfile.tools new file mode 100644 index 000000000..82776ecc2 --- /dev/null +++ b/Containerfile.tools @@ -0,0 +1,51 @@ +# +# Copyright (c) 2023 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the License for the specific language governing permissions and limitations under +# the License. +# + +FROM registry.access.redhat.com/ubi9/ubi:9.2 AS builder + +# Install packages. +RUN \ + dnf install -y \ + make \ + && \ + dnf clean all + +# Currently RHEL 9 doesn't provide a Go 1.21 compiler, so we need to install it from the Go +# downloads site. +RUN \ + curl -Lo tarball https://go.dev/dl/go1.21.3.linux-amd64.tar.gz && \ + echo 1241381b2843fae5a9707eec1f8fb2ef94d827990582c7c7c32f5bdfbfd420c8 tarball | sha256sum -c && \ + tar -C /usr/local -xf tarball && \ + rm tarball + +WORKDIR /go/src/github.com/openshift-kni/oran-o2ims +COPY . . + +# Update GOPATH and PATH. +ENV \ + GOPATH=/go +ENV \ + PATH="${PATH}:/usr/local/go/bin:${GOPATH}/bin" + +# Install ginkgo & mockgen. +RUN go install github.com/onsi/ginkgo/v2/ginkgo@$(go list -f '{{.Version}}' -m github.com/onsi/ginkgo/v2) && \ + go install go.uber.org/mock/mockgen@v0.3.0 + +# Install golangci-lint. +RUN \ + curl -Lo tarball https://github.com/golangci/golangci-lint/releases/download/v1.55.2/golangci-lint-1.55.2-linux-amd64.tar.gz && \ + echo ca21c961a33be3bc15e4292dc40c98c8dcc5463a7b6768a3afc123761630c09c tarball | sha256sum -c && \ + tar -C /usr/local/bin --strip-components=1 -xf tarball golangci-lint-1.55.2-linux-amd64/golangci-lint && \ + rm tarball +