# use Eclipse's JDK image: gradle:eclipse-temurin # all stages need to be defined here stages: - build_19 - build_18_2 - build_18_1 - build_17_1 - build_16_5 variables: # Pull core when building GIT_SUBMODULE_STRATEGY: recursive before_script: - echo $CI_JOB_ID # Writing GE_JOB_ID variable to environment file, will need the value in the next stage. - echo GE_JOB_ID=$CI_JOB_ID >> generate_jars.env # 1.16.5 build build_16_5: stage: build_16_5 script: - ./gradlew deleteMerged --gradle-user-home cache/; - ./gradlew build -PmcVer=1.16.5 --gradle-user-home cache/; - ./gradlew merge --gradle-user-home cache/; image: eclipse-temurin:16 artifacts: name: "Merged_NightlyBuild_1_16_5-${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_TIMESTAMP}" paths: - Merged expire_in: 1 day when: always cache: key: "gradleCache" policy: pull-push paths: - .gradle - cache/ allow_failure: true # 1.17.1 build build_17_1: stage: build_17_1 script: - ./gradlew deleteMerged --gradle-user-home cache/; - ./gradlew build -PmcVer=1.17.1 --gradle-user-home cache/; - ./gradlew merge --gradle-user-home cache/; image: eclipse-temurin:16 artifacts: name: "Merged_NightlyBuild_1_17_1-${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_TIMESTAMP}" paths: - Merged expire_in: 1 day # even if one build fails, upload the successful jars when: always cache: key: "gradleCache" policy: pull-push paths: - .gradle - cache/ allow_failure: true # 1.18.1 build build_18_1: stage: build_18_1 script: - ./gradlew deleteMerged --gradle-user-home cache/; # make sure any previously merged jars are removed before running this job - ./gradlew build -PmcVer=1.18.1 --gradle-user-home cache/; - ./gradlew merge --gradle-user-home cache/; # build using Java 17 image: eclipse-temurin:17 artifacts: name: "Merged_NightlyBuild_1_18_1-${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_TIMESTAMP}" paths: # relative to the root directory - Merged expire_in: 1 day when: always cache: key: "gradleCache" policy: pull-push paths: - .gradle - cache/ allow_failure: true # 1.18.2 build build_18_2: stage: build_18_2 script: - ./gradlew deleteMerged --gradle-user-home cache/; - ./gradlew build -PmcVer=1.18.2 --gradle-user-home cache/; - ./gradlew merge --gradle-user-home cache/; image: eclipse-temurin:17 artifacts: name: "Merged_NightlyBuild_1_18_2-${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_TIMESTAMP}" paths: - Merged expire_in: 1 day when: always cache: key: "gradleCache" policy: pull-push paths: - .gradle - cache/ allow_failure: true # 1.19 build build_19: stage: build_19 script: - ./gradlew deleteMerged --gradle-user-home cache/; - ./gradlew build -PmcVer=1.19 --gradle-user-home cache/; - ./gradlew merge --gradle-user-home cache/; image: eclipse-temurin:17 artifacts: name: "Merged_NightlyBuild_1_19-${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_TIMESTAMP}" paths: - Merged expire_in: 1 day when: always cache: key: "gradleCache" policy: pull-push paths: - .gradle - cache/ allow_failure: true # unused deployment stage #deploy: # stage: deploy # image: registry.gitlab.com/gitlab-org/release-cli:latest # script: # - echo 'running release_job' # - echo 'Previous Job ID is printed below' # - echo $GE_JOB_ID # # Specifying that this job requires artifacts from the previous job to succeed # needs: # - job: build # artifacts: true # release: # name: 'Unstable Jars for Latest Commit' #: $CI_COMMIT_SHORT_SHA' # description: 'Created automatically using the release-cli.' # # tag_name is a mendatory field and can not be an empty string # tag_name: 'Unstable-$CI_COMMIT_SHORT_SHA' # assets: # links: # - name: 'Fabric Jars' # url: 'https://gitlab.com/jeseibel/minecraft-lod-mod/cw/-/jobs/${GE_JOB_ID}/artifacts/file/fabric/build/libs' # - name: 'Forge Jars' # url: 'https://gitlab.com/jeseibel/minecraft-lod-mod/cw/-/jobs/${GE_JOB_ID}/artifacts/file/forge/build/libs'