Skip to content

Commit dfe3744

Browse files
authored
Prepare release 4.7.0 (#1315)
1 parent 31938a1 commit dfe3744

File tree

21 files changed

+209
-125
lines changed

21 files changed

+209
-125
lines changed

.github/workflows/continuous-integration-workflow.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ jobs:
5151
runs-on: ubuntu-22.04
5252
strategy:
5353
matrix:
54-
version: ['9.9.4'] # 9.9 = LTS
55-
edition: ['community', 'developer', 'enterprise']
54+
version: ['10.8.0'] # 9.9 = LTS
55+
edition: ['developer', 'enterprise']
5656
steps:
5757
-
5858
name: Checkout repository
@@ -90,10 +90,10 @@ jobs:
9090
name: Checkout repository
9191
uses: actions/checkout@v4.1.6
9292
-
93-
name: Setup Go 1.18
93+
name: Setup Go 1.23
9494
uses: actions/setup-go@v5
9595
with:
96-
go-version: 1.18
96+
go-version: 1.23
9797
-
9898
name: Download goimports
9999
run: |
@@ -102,7 +102,7 @@ jobs:
102102
name: Download golangci-lint
103103
run: |
104104
curl -sSfL --output /tmp/golangci-lint.sh https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh
105-
cat /tmp/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.49.0
105+
cat /tmp/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.60.1
106106
-
107107
name: Run linter
108108
working-directory: jenkins/webhook-proxy

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,23 @@
55
### Added
66

77
### Changed
8+
9+
### Fixed
10+
11+
## [4.7.0] - 2025-1-27
12+
13+
### Changed
14+
815
- Webhook Proxy maintenance ([#1298](https://github.com/opendevstack/ods-core/pull/1298))
9-
- Update SonarQube to 10.x non LTS ([#1300](https://github.com/opendevstack/ods-core/issues/1300))
16+
- Update SonarQube to 10.6 non LTS ([#1300](https://github.com/opendevstack/ods-core/issues/1300))
17+
- Update SonarQube to 10.8 non LTS ([#1310](https://github.com/opendevstack/ods-core/pull/1310))
18+
- Update Nexus to version 3.70.3 ([#1298](https://github.com/opendevstack/ods-core/pull/1308))
1019
- Jenkins maintenance ([#1299](https://github.com/opendevstack/ods-core/pull/1299)) and update java version in Jenkins ([#1295](https://github.com/opendevstack/ods-core/issues/1295))
1120

1221
### Fixed
1322

23+
- Adjust Jenkins plugin version ([#1310](https://github.com/opendevstack/ods-core/pull/1313))
24+
1425
## [4.6.0] - 2024-10-23
1526

1627
### Changed

configuration-sample/ods-core.env.sample

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ ODS_BITBUCKET_PROJECT=opendevstack
4545
# Nexus base image
4646
# See Dockerhub https://hub.docker.com/r/sonatype/nexus3/tags.
4747
# Officially supported is:
48-
# - 3.68.1-java11
49-
NEXUS_IMAGE_TAG=3.68.1-java11
48+
# - 3.70.3-java11-ubi
49+
NEXUS_IMAGE_TAG=3.70.3-java11-ubi
5050

5151
# Nexus host without protocol.
5252
# The domain should be equal to OPENSHIFT_APPS_BASEDOMAIN (see below).
@@ -130,12 +130,12 @@ SONAR_DATABASE_USER=sonarqube
130130
# See https://www.sonarsource.com/plans-and-pricing/.
131131
# - Use "community" for free edition
132132
# - Use "developer", "enterprise" or "datacenter" for commercial editions
133-
SONAR_EDITION=community
133+
SONAR_EDITION=developer
134134
# SonarQube version.
135135
# See Dockerhub https://hub.docker.com/_/sonarqube/tags
136136
# Officially supported is:
137-
# - 9.9 (LTS release)
138-
SONAR_VERSION=9.9.6
137+
# - 10.8.0
138+
SONAR_VERSION=10.8.0
139139

140140
# SonarQube memory and CPU resources
141141
SONARQUBE_CPU_REQUEST=200m
@@ -217,10 +217,10 @@ CONFLUENCE_URL=http://192.168.56.31:8090
217217
# For UBI8-based images (OpenShift 4):
218218
# - RHEL variant: https://catalog.redhat.com/software/containers/ocp-tools-4/jenkins-rhel8/5fe1f38288e9c2f788526306
219219
# - Example: registry.redhat.io/ocp-tools-4/jenkins-rhel8:v4.14.0
220-
# - Last tested: registry.redhat.io/ocp-tools-4/jenkins-rhel8:v4.14.0-1706517686
220+
# - Last tested: registry.redhat.io/ocp-tools-4/jenkins-rhel8:v4.14.0-1723454631
221221
# - Community variant: https://quay.io/repository/openshift/origin-jenkins?tab=tags
222222
# - Example: quay.io/openshift/origin-jenkins:4.6
223-
JENKINS_MASTER_BASE_FROM_IMAGE=registry.redhat.io/ocp-tools-4/jenkins-rhel8:v4.14.0-1706517686
223+
JENKINS_MASTER_BASE_FROM_IMAGE=registry.redhat.io/ocp-tools-4/jenkins-rhel8:v4.14.0-1723454631
224224

225225
# Dockerfile to use for Jenkins master.
226226
# Use "Dockerfile.ubi8" for both OpenShift 3.11 and 4 (UBI8 base image)
@@ -230,10 +230,10 @@ JENKINS_MASTER_DOCKERFILE_PATH=Dockerfile.ubi8
230230
# For UBI8-based images (OpenShift 4):
231231
# - RHEL variant: https://catalog.redhat.com/software/containers/ocp-tools-4/jenkins-agent-base-rhel8/6241e3457847116cf8577aea
232232
# - Example: registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:v4.14.0
233-
# - Last tested: registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:v4.14.0-1706516367
233+
# - Last tested: registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:v4.14.0-1723453106
234234
# - Community variant: https://quay.io/repository/openshift/origin-jenkins-agent-base?tab=tags
235235
# - Example: quay.io/openshift/origin-jenkins-agent-base:4.6
236-
JENKINS_AGENT_BASE_FROM_IMAGE=registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:v4.14.0-1706516367
236+
JENKINS_AGENT_BASE_FROM_IMAGE=registry.redhat.io/ocp-tools-4/jenkins-agent-base-rhel8:v4.14.0-1723453106
237237

238238
# Dockerfile to use for Jenkins agents.
239239
# Use "Dockerfile.ubi8" for both OpenShift 3.11 and 4 (UBI8 base image)
@@ -242,8 +242,8 @@ JENKINS_AGENT_DOCKERFILE_PATH=Dockerfile.ubi8
242242
# Snyk CLI binary distribution url
243243
# Leave empty to avoid installing Snyk.
244244
# Releases are published at https://github.com/snyk/snyk/releases.
245-
# Latest tested version is v1.1284.0.
246-
JENKINS_AGENT_BASE_SNYK_DISTRIBUTION_URL=https://github.com/snyk/snyk/releases/download/v1.1284.0/snyk-linux
245+
# Latest tested version is v1.1292.4.
246+
JENKINS_AGENT_BASE_SNYK_DISTRIBUTION_URL=https://github.com/snyk/snyk/releases/download/v1.1292.4/snyk-linux
247247

248248
# AquaSec CLI binary distribution url
249249
# Leave empty to avoid installing AquaSec.

jenkins/agent-base/Dockerfile.ubi8

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@ FROM quay.io/openshift/origin-jenkins-agent-base
22

33
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
44

5-
# SONAR_SCANNER_VERSION above 4.8.x require java 17 to run.
6-
ENV SONAR_SCANNER_VERSION=4.8.1.3023 \
7-
CNES_REPORT_VERSION=4.2.0 \
5+
ENV SONAR_SCANNER_VERSION=6.2.1.4610 \
6+
CNES_REPORT_VERSION=5.0.0 \
87
TAILOR_VERSION=1.3.4 \
9-
SOPS_VERSION=3.8.1 \
10-
HELM_VERSION=3.14.3 \
11-
HELM_PLUGIN_DIFF_VERSION=3.9.5 \
12-
HELM_PLUGIN_SECRETS_VERSION=4.6.0 \
8+
SOPS_VERSION=3.9.0 \
9+
HELM_VERSION=3.15.4 \
10+
HELM_PLUGIN_DIFF_VERSION=3.9.9 \
11+
HELM_PLUGIN_SECRETS_VERSION=4.6.1 \
1312
GIT_LFS_VERSION=3.5.1 \
14-
TRIVY_VERSION=0.50.1 \
13+
TRIVY_VERSION=0.54.1 \
1514
JAVA_GC_OPTS="-XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90"
1615

1716
ARG APP_DNS
@@ -22,27 +21,25 @@ ARG AQUASEC_SCANNERCLI_URL
2221
COPY yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo
2322

2423
COPY ensure_java_jre_is_adequate.sh /usr/local/bin/
24+
COPY ./set-default-java.sh /etc/profile.d/set-default-java.sh
2525

2626
RUN cd /etc/yum.repos.d && rm -f localdev-* ci-rpm-mirrors.repo \
2727
&& ensure_java_jre_is_adequate.sh \
28-
&& yum -y install make glibc-langpack-en openssl \
28+
&& yum -y install make glibc-langpack-en openssl skopeo \
2929
&& yum -y update \
3030
&& yum clean all \
31-
&& rm -rf /var/cache/yum/*
32-
33-
#
34-
# WARNING: We do not install java 8 nor java 11 in this image because they are already intalled in it.
35-
#
31+
&& rm -rf /var/cache/yum/* \
32+
&& skopeo --version
3633

3734
# Copy use java scripts.
3835
COPY use-j*.sh /usr/local/bin/
3936
RUN chmod +x /usr/local/bin/use-j*.sh && \
4037
chmod ugo+s /usr/local/bin/use-j*.sh && \
4138
sh -c 'chmod ugo+s $(which alternatives)' && \
4239
ls -la /usr/local/bin/use-j*.sh && \
43-
echo "--- STARTS JDK 11 TESTS ---" && \
44-
use-j11.sh && \
45-
echo "--- ENDS JDK 11 TESTS ---"
40+
echo "--- STARTS JDK 17 TESTS ---" && \
41+
use-j17.sh && \
42+
echo "--- ENDS JDK 17 TESTS ---"
4643

4744
COPY ./import_certs.sh /usr/local/bin/import_certs.sh
4845
COPY ./fix_java_certs_permissions.sh /usr/local/bin/fix_java_certs_permissions.sh
@@ -73,7 +70,7 @@ RUN cd /tmp \
7370

7471
# Install Helm.
7572
RUN cd /tmp \
76-
&& dnf install -y https://github.com/mozilla/sops/releases/download/v${SOPS_VERSION}/sops-${SOPS_VERSION}.x86_64.rpm \
73+
&& dnf install -y https://github.com/mozilla/sops/releases/download/v${SOPS_VERSION}/sops-${SOPS_VERSION}-1.x86_64.rpm \
7774
&& mkdir -p /tmp/helm \
7875
&& curl -sSLO https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz \
7976
&& tar -zxvf helm-v${HELM_VERSION}-linux-amd64.tar.gz -C /tmp/helm \
@@ -84,7 +81,7 @@ RUN cd /tmp \
8481
&& helm plugin install https://github.com/databus23/helm-diff --version v${HELM_PLUGIN_DIFF_VERSION} \
8582
&& helm plugin install https://github.com/jkroepke/helm-secrets --version v${HELM_PLUGIN_SECRETS_VERSION} \
8683
&& sops --version \
87-
&& rm -rf /tmp/helm
84+
&& rm -rf /tmp/helm /tmp/helm-v${HELM_VERSION}-linux-amd64.tar.gz
8885

8986
# Install GIT-LFS extension https://git-lfs.github.com/.
9087
RUN cd /tmp \
@@ -133,15 +130,8 @@ RUN mv /usr/local/bin/run-jnlp-client /usr/local/bin/openshift-run-jnlp-client \
133130

134131
COPY ods-run-jnlp-client.sh /usr/local/bin/run-jnlp-client
135132

136-
# Add skopeo.
137-
RUN yum install -y skopeo \
138-
&& yum clean all \
139-
&& rm -rf /var/cache/yum/* \
140-
&& skopeo --version
141-
142133
# Fix permissions.
143134
RUN mkdir -p /home/jenkins/.config && chmod -R g+w /home/jenkins/.config \
144135
&& mkdir -p /home/jenkins/.cache && chmod -R g+w /home/jenkins/.cache \
145136
&& mkdir -p /home/jenkins/.sonar && chmod -R g+w /home/jenkins/.sonar \
146137
&& mkdir -p /tmp/aqua && chmod -R g+w /tmp/aqua
147-

jenkins/agent-base/ensure_java_jre_is_adequate.sh

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ set -eu -o pipefail
33

44
ME="$(basename $0)"
55
JAVA_INSTALLED_PKGS_LOGS="/tmp/java_installed_pkgs.log"
6-
JAVA_11_INSTALLED_PKGS_LOGS="/tmp/java_11_installed_pkgs.log"
7-
rm -fv ${JAVA_INSTALLED_PKGS_LOGS} ${JAVA_11_INSTALLED_PKGS_LOGS}
6+
JAVA_17_INSTALLED_PKGS_LOGS="/tmp/java_17_installed_pkgs.log"
7+
rm -fv ${JAVA_INSTALLED_PKGS_LOGS} ${JAVA_17_INSTALLED_PKGS_LOGS}
88

99
NEEDS_DEVEL=${1-""}
1010
PKG_NAME_TAIL="headless"
@@ -20,26 +20,26 @@ echo "${ME}: Needs development packages? ${NEEDS_DEVEL}"
2020
echo " "
2121
echo "${ME}: Listing versions of java installed: "
2222
yum list installed | grep -i "\(java\|jre\)" | tee -a ${JAVA_INSTALLED_PKGS_LOGS}
23-
touch ${JAVA_11_INSTALLED_PKGS_LOGS}
24-
grep -i "java-11" ${JAVA_INSTALLED_PKGS_LOGS} > ${JAVA_11_INSTALLED_PKGS_LOGS} || echo "No java 11 packages found."
23+
touch ${JAVA_17_INSTALLED_PKGS_LOGS}
24+
grep -i "java-17" ${JAVA_INSTALLED_PKGS_LOGS} > ${JAVA_17_INSTALLED_PKGS_LOGS} || echo "No java 17 packages found."
2525

2626
NEEDS_INSTALLATION="true"
27-
if [ -f ${JAVA_11_INSTALLED_PKGS_LOGS} ]; then
28-
if grep -qi "${PKG_NAME_TAIL}" ${JAVA_11_INSTALLED_PKGS_LOGS} ; then
27+
if [ -f ${JAVA_17_INSTALLED_PKGS_LOGS} ]; then
28+
if grep -qi "${PKG_NAME_TAIL}" ${JAVA_17_INSTALLED_PKGS_LOGS} ; then
2929
NEEDS_INSTALLATION="false"
3030
fi
3131
fi
3232

3333
# We need devel package in masters to have jar binary.
3434
if [ "true" == "${NEEDS_INSTALLATION}" ]; then
35-
echo "${ME}:Java-11 is *not* installed. Installing..."
35+
echo "${ME}:Java-17 is *not* installed. Installing..."
3636
if [ "true" == "${NEEDS_DEVEL}" ]; then
37-
yum -y install java-11-openjdk-devel
37+
yum -y install java-17-openjdk-devel
3838
else
39-
yum -y install java-11-openjdk-headless
39+
yum -y install java-17-openjdk-headless
4040
fi
4141
else
42-
echo "${ME}: Java-11 is already installed."
42+
echo "${ME}: Java-17 is already installed."
4343
fi
4444

4545
if grep -qi "java-1.8" ${JAVA_INSTALLED_PKGS_LOGS} ; then
@@ -49,19 +49,21 @@ else
4949
echo "${ME}: Java-8 is not installed. Correct."
5050
fi
5151

52-
rm -fv ${JAVA_INSTALLED_PKGS_LOGS} ${JAVA_11_INSTALLED_PKGS_LOGS}
53-
54-
echo " "
55-
echo "${ME}: Checking java tool versions: "
56-
if [ "true" == "${NEEDS_DEVEL}" ]; then
57-
jar --version
52+
if grep -qi "java-11" ${JAVA_INSTALLED_PKGS_LOGS} ; then
53+
echo "${ME}: Java-11 is installed. Removing..."
54+
yum -y remove java-11*
55+
else
56+
echo "${ME}: Java-11 is not installed. Correct."
5857
fi
5958

60-
NO_JAVA_LINK="false"
61-
java -version || NO_JAVA_LINK="true"
62-
if [ "true" == "${NO_JAVA_LINK}" ]; then
63-
JAVA_HOME_FOLDER=$(ls -lah /usr/lib/jvm | grep "java-11-openjdk-11.*\.x86_64" | awk '{print $NF}' | head -1)
64-
JAVA_HOME="/usr/lib/jvm/${JAVA_HOME_FOLDER}"
65-
alternatives --set java ${JAVA_HOME}/bin/java
59+
if grep -qi "java-21" ${JAVA_INSTALLED_PKGS_LOGS} ; then
60+
echo "${ME}: Java-21 is installed. Removing..."
61+
yum -y remove java-21*
62+
else
63+
echo "${ME}: Java-21 is not installed. Correct."
6664
fi
65+
66+
rm -fv ${JAVA_INSTALLED_PKGS_LOGS} ${JAVA_17_INSTALLED_PKGS_LOGS}
67+
68+
source /etc/profile.d/set-default-java.sh
6769
java -version
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
set -eu -o pipefail
3+
4+
JAVA_HOME_FOLDER=$(ls -lah /usr/lib/jvm | grep "java-17-openjdk-.*\.x86_64" | awk '{print $NF}' | head -1)
5+
export JAVA_HOME="/usr/lib/jvm/${JAVA_HOME_FOLDER}"
6+
export USE_JAVA_VERSION=java-17
7+
alternatives --set java ${JAVA_HOME}/bin/java

jenkins/agent-base/use-j11.sh renamed to jenkins/agent-base/use-j17.sh

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

3-
JAVA_HOME_FOLDER=$(ls -lah /usr/lib/jvm | grep "java-11-openjdk-11.*\.x86_64" | awk '{print $NF}' | head -1)
4-
JAVA_VERSION="11"
3+
JAVA_HOME_FOLDER=$(ls -lah /usr/lib/jvm | grep "java-17-openjdk-.*\.x86_64" | awk '{print $NF}' | head -1)
4+
JAVA_VERSION="17"
55

66
function msg_and_exit() {
77
echo "ERROR: ${1}"
@@ -36,8 +36,3 @@ else
3636
msg_and_exit "Cannot configure JAVA_HOME environment variable to ${JAVA_HOME}"
3737
fi
3838
echo "JAVA_HOME: $JAVA_HOME"
39-
40-
rm -fv /etc/profile.d/set-default-java.sh
41-
echo "export JAVA_HOME=${JAVA_HOME}" >> /etc/profile.d/set-default-java.sh
42-
echo "export USE_JAVA_VERSION=java-11" >> /etc/profile.d/set-default-java.sh
43-
chmod +x /etc/profile.d/set-default-java.sh

jenkins/master/Dockerfile.ubi8

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM quay.io/openshift/origin-jenkins
22

3-
ENV JAVA_HOME /usr/lib/jvm/jre-11
3+
ENV JAVA_HOME /usr/lib/jvm/jre-17
44

55
# ODS defaults, available to use within pipelines.
66
ARG ODS_NAMESPACE
@@ -14,12 +14,16 @@ ENV JENKINS_JAVA_OVERRIDES="-Dhudson.tasks.MailSender.SEND_TO_UNKNOWN_USERS=true
1414

1515
USER root
1616

17+
# Add UBI repositories.
18+
COPY yum.repos.d/ubi.repo /etc/yum.repos.d/ubi.repo
19+
1720
COPY ./scripts_for_usr-local-bin/* /usr/local/bin/
18-
RUN import_certs.sh \
19-
&& rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key \
21+
RUN rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key \
2022
&& disable_yum_repository.sh /etc/yum.repos.d/ci-rpm-mirrors.repo \
2123
/etc/yum.repos.d/localdev-* /etc/yum.repos.d/epel.repo \
2224
&& ensure_java_jre_is_adequate.sh master \
25+
&& yum -y update \
26+
&& import_certs.sh \
2327
&& fix_openshift_scripts.sh \
2428
&& clean_yum_cache.sh
2529

@@ -43,6 +47,3 @@ RUN cd /tmp \
4347
&& tailor version
4448

4549
USER jenkins
46-
47-
48-

jenkins/master/plugins.ubi8.txt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1+
# Aditional plugins
12
greenballs:1.15.1
23
sonar:2.17.2
3-
blueocean:1.27.9
4-
email-ext:2.104
54
ansicolor:1.0.4
6-
kubernetes-credentials:0.11
7-
kubernetes-client-api:6.10.0-240.v57880ce8b_0b_2
8-
kubernetes:4186.v1d804571d5d4
9-
junit:1259.v65ffcef24a_88
105
audit-trail:361.v82cde86c784e
11-
credentials:1337.v60b_d7b_c7b_c9f
12-
workflow-multibranch:773.vc4fe1378f1d5
13-
git:5.2.1
6+
7+
# Bundled plugins
8+
token-macro:400.v35420b_922dcb_
9+
email-ext:2.104
10+
junit:1265.v65b_14fa_f12f0
11+
blueocean:1.27.9
12+
kubernetes:4174.v4230d0ccd951
1413
openshift-sync:1.1.0.802.v45585f8cdc07

0 commit comments

Comments
 (0)