2023-03-08 13:50:46 +00:00
image : openjdk:17-jdk-slim
2023-03-08 13:46:29 +00:00
stages :
2023-03-08 14:07:23 +00:00
- prepare
2023-03-08 13:46:29 +00:00
- build
2023-03-08 14:01:53 +00:00
- release
2023-03-08 13:46:29 +00:00
before_script :
# - echo `pwd` # debug
# - echo "$CI_BUILD_NAME, $CI_BUILD_REF_NAME $CI_BUILD_STAGE" # debug
- export GRADLE_USER_HOME=`pwd`/.gradle
2023-03-08 14:07:23 +00:00
prepare_job :
stage : prepare # This stage must run before the release stage
rules :
- if : $CI_COMMIT_TAG
when : never # Do not run this job when a tag is created manually
- if : $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
script :
2023-03-08 14:14:04 +00:00
- echo "TAG=RELEASE" >> variables.env # and append to the variables.env file
2023-03-08 14:07:23 +00:00
artifacts :
reports :
dotenv : variables.env # Use artifacts:reports:dotenv to expose the variables to other jobs
2023-03-08 13:46:29 +00:00
cache :
paths :
- .gradle/wrapper
- .gradle/caches
build :
stage : build
2023-03-08 14:00:58 +00:00
rules :
2023-03-08 13:46:29 +00:00
script :
- ./gradlew assemble
artifacts :
paths :
- build/libs/*.jar
expire_in : 1 week
2023-03-09 14:59:50 +00:00
reports :
# To ensure we've access to this file in the next stage
dotenv : yes .env
2023-03-08 13:46:29 +00:00
only :
- master
2023-03-08 14:01:53 +00:00
release :
2023-03-08 14:00:58 +00:00
stage : release
image : registry.gitlab.com/gitlab-org/release-cli:latest
needs :
- job : build
artifacts : true
rules :
- if : $CI_COMMIT_TAG
when : never # Do not run this job when a tag is created manually
- if : $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Run this job when commits are pushed or merged to the default branch
2023-03-08 13:46:29 +00:00
script :
2023-03-09 14:53:45 +00:00
- echo "running release for v1-$CI_COMMIT_SHORT_SHA"
2023-03-08 14:00:58 +00:00
release :
2023-03-09 14:53:45 +00:00
name : 'Release v1-$CI_COMMIT_SHORT_SHA'
2023-03-08 14:00:58 +00:00
description : 'Created using the release-cli $EXTRA_DESCRIPTION' # $EXTRA_DESCRIPTION and the $TAG
2023-03-09 14:53:45 +00:00
tag_name : 'v1-$CI_COMMIT_SHORT_SHA' # variables must be defined elsewhere
2023-03-09 14:59:50 +00:00
ref : '$CI_COMMIT_SHA'
assets :
links :
- name : 'Mod'
url : 'https://git.fascinated.cc/Fascinated/wildaddons/cw/-/jobs/${GE_JOB_ID}/artifacts/file/build/libs/WildAddons-1.0-SNAPSHOT.jar' # in the pipeline. For example, in the