This repository has been archived on 2023-10-27. You can view files and clone it, but cannot push or open issues or pull requests.
wildaddons/.gitlab-ci.yml

64 lines
2.2 KiB
YAML

image: openjdk:17-jdk-slim
stages:
- prepare
- build
- release
before_script:
# - echo `pwd` # debug
# - echo "$CI_BUILD_NAME, $CI_BUILD_REF_NAME $CI_BUILD_STAGE" # debug
- export GRADLE_USER_HOME=`pwd`/.gradle
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:
- echo "TAG=RELEASE" >> variables.env # and append to the variables.env file
artifacts:
reports:
dotenv: variables.env # Use artifacts:reports:dotenv to expose the variables to other jobs
cache:
paths:
- .gradle/wrapper
- .gradle/caches
build:
stage: build
rules:
script:
- ./gradlew assemble
artifacts:
paths:
- build/libs/*.jar
expire_in: 1 week
reports:
# To ensure we've access to this file in the next stage
dotenv: yes.env
only:
- master
release:
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
script:
- echo "running release for v1-$CI_COMMIT_SHORT_SHA"
release:
name: 'Release v1-$CI_COMMIT_SHORT_SHA'
description: 'Created using the release-cli $EXTRA_DESCRIPTION' # $EXTRA_DESCRIPTION and the $TAG
tag_name: 'v1-$CI_COMMIT_SHORT_SHA' # variables must be defined elsewhere
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