@@ -42,6 +42,7 @@ stages:
4242 # clean k8s namespace, collect logs
4343 - testenv_post
4444 # on release, upload rpm, deb, tar, container
45+ - upload
4546
4647variables :
4748 MAVEN_CLI_OPTS : " --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true -Dmaven.repo.local=.m2/repository"
@@ -74,7 +75,7 @@ default:
7475 - runner_system_failure
7576 - api_failure
7677#
77- # default tags and image for testing stages/kubernetes/helm
78+ # default tags and image for testing stages/kubernetes/helm
7879#
7980.kubernetes_tags :
8081 tags :
@@ -225,11 +226,8 @@ container:
225226 image : ghcr.io/kaniko-build/dist/chainguard-dev-kaniko/executor:latest-debug
226227 needs :
227228 - tar
228- - job : get_jacoco_cli
229- optional : true
230229 dependencies :
231230 - tar
232- - get_jacoco_cli
233231 script :
234232 - |-
235233 tag=$CI_COMMIT_SHORT_SHA
@@ -238,7 +236,6 @@ container:
238236 tag=$CI_COMMIT_TAG
239237 jacoco_enabled=false
240238 fi
241- - mkdir -p "jacoco-${JACOCO_VERSION}/lib"
242239 - mkdir maven
243240 - tar -C maven --strip-components=1 -xzvf packages/tar/target/dcache-*.tar.gz
244241 - cp $CI_PROJECT_DIR/packages/tar/src/main/container/* .
@@ -319,10 +316,121 @@ RPM test install on EL9:
319316# - apt-get update
320317# - DEBIAN_FRONTEND=noninteractive apt install -y -f ./packages/fhs/target/dcache_*.deb
321318
319+ upload_rpm :
320+ stage : upload
321+ image : almalinux:10-minimal
322+ dependencies :
323+ - sign_rpm
324+ extends : .upload_rules
325+ script :
326+ - RPM_NAME=`ls packages/fhs/target/rpmbuild/RPMS/noarch/ | grep dcache`
327+ - VERSION=`echo $RPM_NAME | cut -d'-' -f 2 | cut -d'.' -f 1,2`
328+ - curl $PKG_UPLOAD_OPTIONS -u $PKG_UPLOAD_USER:$PKG_UPLOAD_PASS --upload-file packages/fhs/target/rpmbuild/RPMS/noarch/$RPM_NAME "$PKG_UPLOAD_URL/$VERSION/$RPM_NAME"
329+
330+ upload_deb :
331+ stage : upload
332+ image : almalinux:10-minimal
333+ dependencies :
334+ - sign_deb
335+ extends : .upload_rules
336+ script :
337+ - DEB_NAME=`ls packages/fhs/target/ | grep dcache`
338+ - VERSION=`echo $DEB_NAME | cut -d'_' -f 2 | cut -d'.' -f 1,2`
339+ - curl $PKG_UPLOAD_OPTIONS -u $PKG_UPLOAD_USER:$PKG_UPLOAD_PASS --upload-file packages/fhs/target/$DEB_NAME "$PKG_UPLOAD_URL/$VERSION/$DEB_NAME"
340+
341+ upload_tar :
342+ stage : upload
343+ image : almalinux:10-minimal
344+ dependencies :
345+ - tar
346+ extends : .upload_rules
347+ script :
348+ - TAR_NAME=`ls packages/tar/target/ | grep dcache`
349+ - VERSION=`echo $TAR_NAME | cut -d'-' -f 2 | cut -d'.' -f 1,2`
350+ - curl $PKG_UPLOAD_OPTIONS -u $PKG_UPLOAD_USER:$PKG_UPLOAD_PASS --upload-file packages/tar/target/$TAR_NAME "$PKG_UPLOAD_URL/$VERSION/$TAR_NAME"
351+
352+
353+ upload_container :
354+ stage : upload
355+ # Cache downloaded dependencies and plugins between builds.
356+ # To keep cache across branches add 'key: "$CI_JOB_NAME"'
357+ # For latest releases see https://github.com/GoogleContainerTools/kaniko/releases
358+ # Only debug/*-debug versions of the Kaniko image are known to work within Gitlab CI
359+ image : ghcr.io/kaniko-build/dist/chainguard-dev-kaniko/executor:latest-debug
360+ dependencies :
361+ - tar
362+ extends : .upload_rules
363+ script :
364+ - |-
365+ tag=$CI_COMMIT_TAG
366+ branch_latest=`echo $CI_COMMIT_TAG | cut -d '.' -f 1,2`
367+
368+ - mkdir maven
369+ - tar -C maven --strip-components=1 -xzvf packages/tar/target/dcache-*.tar.gz
370+ - cp $CI_PROJECT_DIR/packages/tar/src/main/container/* .
371+ - mkdir -p /kaniko/.docker
372+ - echo "{\"auths\":{\"https://index.docker.io/v1/\":{\"username\":\"$DOCKER_HUB_USER\",\"password\":\"$DOCKER_HUB_ACCESS_KEY\"}}}" > /kaniko/.docker/config.json
373+ - >
374+ /kaniko/executor
375+ --label dcache.build=GA
376+ --context $CI_PROJECT_DIR
377+ --dockerfile $CI_PROJECT_DIR/Dockerfile
378+ --destination dcache/dcache:$tag --destination dcache/dcache:$branch_latest
379+
380+ #
322381# This jobs needs that the number of changes to fetch from GitLab when cloning a repository is high enough to generate
323382# the changelog.
383+ AI Generated Release Notes :
384+ image : almalinux:10-minimal
385+ stage : upload
386+ extends : .upload_rules
387+ allow_failure : true
388+ dependencies :
389+ - sign_deb
390+ - sign_rpm
391+ - tar
392+ script :
393+ - microdnf install -y git-core
394+ - git fetch --refetch --all --tags
395+ - .ci/generate-changelog.sh >> release-$CI_COMMIT_TAG.md
396+ - curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-linux-amd64 && chmod +x chatgpt
397+ - LAST_TAG=$(.ci/get-git-version.sh $CI_COMMIT_TAG)
398+ - |-
399+ git log --grep=maven-release-plugin --invert-grep $LAST_TAG..$CI_COMMIT_TAG | \
400+ OPENAI_API_KEY=$LLM_API_KEY \
401+ OPENAI_URL=$LLM_API_ENDPOINT \
402+ OPENAI_MODEL=$LLM_MODEL \
403+ OPENAI_COMPLETIONS_PATH=$LLM_COMPLETIONS_PATH \
404+ OPENAI_ROLE="You are a helpful tech writer working on release notes of the dCache project, ignoring commits with messages starting with '[maven-release-plugin]'." \
405+ ./chatgpt "$LLM_PROMPT" | \
406+ tee -a release-$CI_COMMIT_TAG.md
407+ artifacts :
408+ paths :
409+ - release-*.md
324410
325411
412+ #
413+ # Prepare releases download table in html format
414+ #
415+ Release Notes Table :
416+ image : almalinux:10-minimal
417+ stage : upload
418+ extends : .upload_rules
419+ allow_failure : true
420+ dependencies :
421+ - sign_deb
422+ - sign_rpm
423+ - tar
424+ script :
425+ - microdnf install -y git-core
426+ - git fetch --refetch --all --tags
427+ - .ci/generate-releases-xml.sh >> release-$CI_COMMIT_TAG.xml
428+
429+ # tee -a release-$CI_COMMIT_TAG.md
430+ artifacts :
431+ paths :
432+ - release1-*.md
433+
326434#
327435# prepare kubernetes env for the build
328436#
0 commit comments