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
Raw Permalink Normal View History

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