diff --git a/CHANGELOG.md b/CHANGELOG.md index 7802f83..3fd9935 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +- [#156] Update Makefiles to 9.5.2 +- [#156] Update java base image to 17.0.13-1 ## [v3.75.0-1] - 2024-12-19 ### Changed diff --git a/Dockerfile b/Dockerfile index 46d077c..012e153 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM registry.cloudogu.com/official/java:17.0.12-4 as builder +FROM registry.cloudogu.com/official/java:17.0.13-1 as builder LABEL maintainer="hello@cloudogu.com" \ NAME="official/nexus" \ VERSION="3.75.0-1" @@ -57,7 +57,7 @@ RUN set -o errexit \ && mvn dependency:get -DgroupId=org.apache.shiro.tools -DartifactId=shiro-tools-hasher -Dclassifier=cli -Dversion=${SHIRO_VERSION} \ && cp /root/.m2/repository/org/apache/shiro/tools/shiro-tools-hasher/${SHIRO_VERSION}/shiro-tools-hasher-${SHIRO_VERSION}-cli.jar /build/shiro-tools-hasher.jar -FROM registry.cloudogu.com/official/java:17.0.12-4 +FROM registry.cloudogu.com/official/java:17.0.13-1 ENV SERVICE_TAGS=webapp \ SERVICE_ADDITIONAL_SERVICES='[{"name": "docker-registry", "port": 8082, "location": "v2", "pass": "nexus/repository/docker-registry/v2/"}]' \ diff --git a/Makefile b/Makefile index ce5e70e..04542f8 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -MAKEFILES_VERSION=9.5.0 +MAKEFILES_VERSION=9.5.2 VERSION=3.75.0-1 .DEFAULT_GOAL:=dogu-release diff --git a/build/make/prerelease.mk b/build/make/prerelease.mk index c2cc39c..5ffc3bb 100644 --- a/build/make/prerelease.mk +++ b/build/make/prerelease.mk @@ -3,4 +3,4 @@ .PHONY: prerelease_namespace prerelease_namespace: - build/make/stagex.sh prerelease_namespace \ No newline at end of file + build/make/prerelease.sh prerelease_namespace \ No newline at end of file diff --git a/build/make/prerelease.sh b/build/make/prerelease.sh index d976d95..d968176 100644 --- a/build/make/prerelease.sh +++ b/build/make/prerelease.sh @@ -5,21 +5,29 @@ set -o pipefail prerelease_namespace() { + TIMESTAMP=$(date +"%Y%m%d%H%M%S") + # Update version in dogu.json if [ -f "dogu.json" ]; then echo "Updating name in dogu.json..." ORIG_NAME="$(jq -r ".Name" ./dogu.json)" + ORIG_VERSION="$(jq -r ".Version" ./dogu.json)" PRERELEASE_NAME="prerelease_${ORIG_NAME}" + PRERELEASE_VERSION="${ORIG_VERSION}${TIMESTAMP}" jq ".Name = \"${PRERELEASE_NAME}\"" dogu.json >dogu2.json && mv dogu2.json dogu.json + jq ".Version = \"${PRERELEASE_VERSION}\"" dogu.json >dogu2.json && mv dogu2.json dogu.json jq ".Image = \"registry.cloudogu.com/${PRERELEASE_NAME}\"" dogu.json >dogu2.json && mv dogu2.json dogu.json fi # Update version in Dockerfile if [ -f "Dockerfile" ]; then echo "Updating version in Dockerfile..." - ORIG_NAME="$(grep -oP "^[ ]*NAME=\"([^\"]*)" Dockerfile | awk -F "\"" '{print $2}')" + ORIG_NAME="$(grep -oP ".*[ ]*NAME=\"([^\"]*)" Dockerfile | awk -F "\"" '{print $2}')" + ORIG_VERSION="$(grep -oP ".*[ ]*VERSION=\"([^\"]*)" Dockerfile | awk -F "\"" '{print $2}')" PRERELEASE_NAME="prerelease_$( echo -e "$ORIG_NAME" | sed 's/\//\\\//g' )" - sed -i "s/\(^[ ]*NAME=\"\)\([^\"]*\)\(.*$\)/\1${PRERELEASE_NAME}\3/" Dockerfile + PRERELEASE_VERSION="${ORIG_VERSION}${TIMESTAMP}" + sed -i "s/\(.*[ ]*NAME=\"\)\([^\"]*\)\(.*$\)/\1${PRERELEASE_NAME}\3/" Dockerfile + sed -i "s/\(.*[ ]*VERSION=\"\)\([^\"]*\)\(.*$\)/\1${PRERELEASE_VERSION}\3/" Dockerfile fi } diff --git a/build/make/release.mk b/build/make/release.mk index 328f7ba..e9ef7be 100644 --- a/build/make/release.mk +++ b/build/make/release.mk @@ -4,7 +4,7 @@ .PHONY: dogu-release dogu-release: ## Start a dogu release - build/make/release.sh dogu + build/make/release.sh dogu "${FIXED_CVE_LIST}" $(DRY_RUN) .PHONY: node-release node-release: ## Start a node package release diff --git a/build/make/self-update.sh b/build/make/self-update.sh index fd51fc5..fe8e027 100755 --- a/build/make/self-update.sh +++ b/build/make/self-update.sh @@ -34,7 +34,7 @@ get_highest_version() { # Patch Jenkinsfile update_jenkinsfile() { sed -i "s/ces-build-lib@[[:digit:]].[[:digit:]].[[:digit:]]/ces-build-lib@$(get_highest_version ces)/g" Jenkinsfile - sed -i "s/dogu-build-lib@[[:digit:]].[[:digit:]].[[:digit:]]/dogu-build-lib@$(get_highest_version dogu)/g" Jenkinsfile + sed -i "s/dogu-build-lib@v[[:digit:]].[[:digit:]].[[:digit:]]/dogu-build-lib@v$(get_highest_version dogu)/g" Jenkinsfile } # switch for script entrypoint diff --git a/build/make/test-common.mk b/build/make/test-common.mk index 6eaa0da..efc0bc7 100644 --- a/build/make/test-common.mk +++ b/build/make/test-common.mk @@ -1,6 +1,6 @@ GO_JUNIT_REPORT=$(UTILITY_BIN_PATH)/go-junit-report -GO_JUNIT_REPORT_VERSION=v1.0.0 +GO_JUNIT_REPORT_VERSION=v2.1.0 $(GO_JUNIT_REPORT): $(UTILITY_BIN_PATH) @echo "Download go-junit-report..." - @$(call go-get-tool,$@,github.com/jstemmer/go-junit-report@$(GO_JUNIT_REPORT_VERSION)) + @$(call go-get-tool,$@,github.com/jstemmer/go-junit-report/v2@$(GO_JUNIT_REPORT_VERSION)) diff --git a/build/make/test-unit.mk b/build/make/test-unit.mk index 6838b1c..54a9448 100644 --- a/build/make/test-unit.mk +++ b/build/make/test-unit.mk @@ -1,6 +1,7 @@ ##@ Unit testing UNIT_TEST_DIR=$(TARGET_DIR)/unit-tests +XUNIT_JSON=$(UNIT_TEST_DIR)/report.json XUNIT_XML=$(UNIT_TEST_DIR)/unit-tests.xml UNIT_TEST_LOG=$(UNIT_TEST_DIR)/unit-tests.log COVERAGE_REPORT=$(UNIT_TEST_DIR)/coverage.out @@ -9,9 +10,9 @@ PRE_UNITTESTS?= POST_UNITTESTS?= .PHONY: unit-test -unit-test: $(XUNIT_XML) ## Start unit tests +unit-test: $(XUNIT_JSON) ## Start unit tests -$(XUNIT_XML): $(SRC) $(GO_JUNIT_REPORT) +$(XUNIT_JSON): $(SRC) $(GO_JUNIT_REPORT) ifneq ($(strip $(PRE_UNITTESTS)),) @make $(PRE_UNITTESTS) endif @@ -20,13 +21,15 @@ endif @echo 'mode: set' > ${COVERAGE_REPORT} @rm -f $(UNIT_TEST_LOG) || true @for PKG in $(PACKAGES) ; do \ - ${GO_CALL} test -v $$PKG -coverprofile=${COVERAGE_REPORT}.tmp 2>&1 | tee $(UNIT_TEST_LOG).tmp ; \ + ${GO_CALL} test -v $$PKG -coverprofile=${COVERAGE_REPORT}.tmp -json 2>&1 | tee $(UNIT_TEST_LOG).tmp ; \ cat ${COVERAGE_REPORT}.tmp | tail +2 >> ${COVERAGE_REPORT} ; \ rm -f ${COVERAGE_REPORT}.tmp ; \ cat $(UNIT_TEST_LOG).tmp >> $(UNIT_TEST_LOG) ; \ rm -f $(UNIT_TEST_LOG).tmp ; \ done - @cat $(UNIT_TEST_LOG) | $(GO_JUNIT_REPORT) > $@ + @cat $(UNIT_TEST_LOG) >> $@ + @cat $(UNIT_TEST_LOG) | $(GO_JUNIT_REPORT) -parser gojson > $(XUNIT_XML) + @if grep '^FAIL' $(UNIT_TEST_LOG); then \ exit 1; \ fi