image: briar/ci-image-android:latest stages: - test - build - releasebuild variables: GIT_SUBMODULE_STRATEGY: recursive JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 before_script: - set -e - export GRADLE_USER_HOME=$PWD/.gradle # make sure the CI doesn't run in detached state so that we can # extract the branch name during build - git checkout "$CI_COMMIT_REF_NAME" after_script: # these file change every time and should not be cached - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/ cache: key: "$CI_COMMIT_REF_SLUG" paths: - .gradle/wrapper - .gradle/caches ktlint: stage: test script: - git submodule update - ./gradlew --no-daemon :check rules: - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS' when: never # avoids duplicate jobs for branch and MR - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' when: always - when: always b_jar: stage: build script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=nightly -x kaptKotlin packageUberJarForCurrentOS - mv build/compose/jars/Briar-*.jar ./briar-desktop.jar artifacts: paths: - briar-desktop.jar expire_in: 2 days rules: - if: $CI_PIPELINE_SOURCE == "schedule" b_bullseye_deb: stage: build script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=nightly -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-debian-bullseye.deb artifacts: paths: - briar-desktop-debian-bullseye.deb expire_in: 2 days rules: - if: $CI_PIPELINE_SOURCE == "schedule" b_20_ubuntu_deb: image: briar/ci-image-android:ubuntu-20 stage: build script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=nightly -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-ubuntu-20.04.deb artifacts: paths: - briar-desktop-ubuntu-20.04.deb expire_in: 2 days rules: - if: $CI_PIPELINE_SOURCE == "schedule" b_18_ubuntu_deb: image: briar/ci-image-android:ubuntu-18 stage: build script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=nightly -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-ubuntu-18.04.deb artifacts: paths: - briar-desktop-ubuntu-18.04.deb expire_in: 2 days rules: - if: $CI_PIPELINE_SOURCE == "schedule" rb_jar: stage: releasebuild script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=beta -x kaptKotlin packageUberJarForCurrentOS - mv build/compose/jars/Briar-*.jar ./briar-desktop.jar artifacts: paths: - briar-desktop.jar expire_in: 2 days only: - tags rb_bullseye_deb: stage: releasebuild script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=beta -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-debian-bullseye.deb artifacts: paths: - briar-desktop-debian-bullseye.deb expire_in: 2 days only: - tags rb_20_ubuntu_deb: image: briar/ci-image-android:ubuntu-20 stage: releasebuild script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=beta -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-ubuntu-20.04.deb artifacts: paths: - briar-desktop-ubuntu-20.04.deb expire_in: 2 days only: - tags rb_18_ubuntu_deb: image: briar/ci-image-android:ubuntu-18 stage: releasebuild script: - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64 --no-daemon kaptKotlin - ./gradlew -Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 --no-daemon -PbuildType=beta -x kaptKotlin packageDeb - mv build/compose/binaries/main/deb/*.deb ./briar-desktop-ubuntu-18.04.deb artifacts: paths: - briar-desktop-ubuntu-18.04.deb expire_in: 2 days only: - tags