-
Notifications
You must be signed in to change notification settings - Fork 25
/
Dockerfile.CI
70 lines (57 loc) · 3.1 KB
/
Dockerfile.CI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
FROM quay.io/fedora/fedora:40
RUN dnf update -y &&\
dnf install -y --setopt=tsflags=nodocs azure-cli git go jq lynx make openssl python-unversioned-command python3 python3-antlr4-runtime python3-pip unzip vim wget &&\
dnf clean all -y && rm -fR /var/cache/dnf
RUN pip install pyyaml reportportal-client
RUN wget https://github.com/mikefarah/yq/releases/download/v4.44.3/yq_linux_amd64 -O /usr/bin/yq &&\
chmod +x /usr/bin/yq
ENV OC_VERSION=4.17
RUN wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/fast-${OC_VERSION}/openshift-client-linux.tar.gz \
-O /tmp/openshift-client.tar.gz &&\
tar xzf /tmp/openshift-client.tar.gz -C /usr/bin oc &&\
rm /tmp/openshift-client.tar.gz
RUN wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/fast-${OC_VERSION}/oc-mirror.tar.gz \
-O /tmp/oc-mirror.tar.gz &&\
tar xzf /tmp/oc-mirror.tar.gz -C /usr/bin oc-mirror &&\
chmod u+x /usr/bin/oc-mirror &&\
rm /tmp/oc-mirror.tar.gz
RUN wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/fast-${OC_VERSION}/opm-linux.tar.gz \
-O /tmp/opm.tar.gz &&\
tar xzf /tmp/opm.tar.gz -C /usr/bin opm-rhel8 &&\
mv /usr/bin/opm-rhel8 /usr/bin/opm &&\
chmod u+x /usr/bin/opm &&\
rm /tmp/opm.tar.gz
RUN wget https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/rosa-linux.tar.gz \
-O /tmp/rosa.tar.gz &&\
tar xzf /tmp/rosa.tar.gz -C /usr/bin --no-same-owner rosa &&\
rm /tmp/rosa.tar.gz
ENV TKN_VERSION=1.16.0
RUN wget https://mirror.openshift.com/pub/openshift-v4/clients/pipelines/${TKN_VERSION}/tkn-linux-amd64.tar.gz \
-O /tmp/tkn.tar.gz &&\
tar xzf /tmp/tkn.tar.gz -C /usr/bin --no-same-owner tkn tkn-pac opc &&\
rm /tmp/tkn.tar.gz
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/bin/mc &&\
chmod u+x /usr/bin/mc
ENV GAUGE_VERSION=1.6.10
RUN wget https://github.com/getgauge/gauge/releases/download/v${GAUGE_VERSION}/gauge-${GAUGE_VERSION}-linux.x86_64.zip \
-O /tmp/gauge.zip &&\
unzip /tmp/gauge.zip gauge -d /usr/bin &&\
rm /tmp/gauge.zip &&\
ln -s /usr/bin/oc /usr/bin/kubectl &&\
gauge install go &&\
gauge install html-report &&\
gauge install xml-report &&\
gauge install reportportal &&\
gauge config check_updates false &&\
gauge config runner_connection_timeout 600000 && \
gauge config runner_request_timeout 300000 &&\
go env -w GOPROXY="https://proxy.golang.org,direct" &&\
gauge version
RUN wget https://github.com/sigstore/cosign/releases/download/v2.4.1/cosign-linux-amd64 -O /usr/bin/cosign && \
chmod a+x /usr/bin/cosign
RUN wget https://github.com/sigstore/rekor/releases/download/v1.3.6/rekor-cli-linux-amd64 -O /usr/bin/rekor-cli && \
chmod u+x /usr/bin/rekor-cli
ENV GOLANGCI_LINT_VERSION=1.61.0
RUN wget -O /tmp/golangci-lint.tar.gz https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCI_LINT_VERSION}/golangci-lint-${GOLANGCI_LINT_VERSION}-linux-amd64.tar.gz \
&& tar --strip-components=1 -C /usr/bin -xzf /tmp/golangci-lint.tar.gz golangci-lint-${GOLANGCI_LINT_VERSION}-linux-amd64/golangci-lint \
&& rm -f /tmp/golangci-lint.tar.gz