From f2d7f4a684924b2fad955e075a754977761876f1 Mon Sep 17 00:00:00 2001 From: lightningd Date: Tue, 20 Jan 2026 20:25:45 +0100 Subject: [PATCH] feat(ci): configure maven publish job --- .gitlab-ci.yml | 1 + gitlab/deploy-maven.yml | 52 ++++++++++++++++++++++++ libs/gl-sdk-android/lib/build.gradle.kts | 6 +-- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 gitlab/deploy-maven.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 454078f6a..be20e2bb2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,7 @@ variables: stages: - build + - deploy default: image: ${CI_IMAGE}:${CI_IMAGE_VER} # set in CI env vars diff --git a/gitlab/deploy-maven.yml b/gitlab/deploy-maven.yml new file mode 100644 index 000000000..72fa143ab --- /dev/null +++ b/gitlab/deploy-maven.yml @@ -0,0 +1,52 @@ +# maven credentials and gpg settings +# in runner's ~/.gradle/gradle.properties +publish_to_maven: + stage: deploy + tags: + - m4 + rules: + - if: "$CI_COMMIT_TAG" + when: manual + needs: [] + script: + - cd libs/gl-sdk-android + - ./gradlew publish --no-daemon + artifacts: + paths: + - libs/gl-sdk-android/lib/build/libs + - libs/gl-sdk-android/lib/build/outputs + - libs/gl-sdk-android/lib/build/publications + when: always + expire_in: 7 days + allow_failure: true + +publish_snapshot_to_maven: + stage: deploy + tags: + - m4 + needs: [] + rules: + - if: '$CI_COMMIT_BRANCH == "main"' + when: on_success + script: + - cd libs/gl-sdk-android + - RAW_VERSION=$(grep '^libraryVersion=' gradle.properties | cut -d'=' -f2) + - BASE_VERSION=${RAW_VERSION%-SNAPSHOT} + - VERSION_CORE=$(echo "$BASE_VERSION" | sed -E 's/[^0-9.].*$//') + - IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION_CORE" + - MAJOR=${MAJOR:-0} + - MINOR=${MINOR:-0} + - PATCH=${PATCH:-0} + - NEXT_PATCH=$((PATCH + 1)) + - NEXT_VERSION="${MAJOR}.${MINOR}.${NEXT_PATCH}" + - SNAPSHOT_VERSION="${NEXT_VERSION}-SNAPSHOT" + - echo "Publishing snapshot version ${SNAPSHOT_VERSION} (base=${BASE_VERSION})" + - ./gradlew -PlibraryVersion=${SNAPSHOT_VERSION} publish --no-daemon + artifacts: + paths: + - libs/gl-sdk-android/lib/build/libs + - libs/gl-sdk-android/lib/build/outputs + - libs/gl-sdk-android/lib/build/publications + when: always + expire_in: 7 days + allow_failure: true diff --git a/libs/gl-sdk-android/lib/build.gradle.kts b/libs/gl-sdk-android/lib/build.gradle.kts index c7a1b9ff1..3fd7a4584 100644 --- a/libs/gl-sdk-android/lib/build.gradle.kts +++ b/libs/gl-sdk-android/lib/build.gradle.kts @@ -136,8 +136,8 @@ mavenPublishing { } } - //publishToMavenCentral() - //signAllPublications() + publishToMavenCentral() + signAllPublications() } extensions.configure { @@ -152,4 +152,4 @@ tasks.withType().configureEach { // Skip signing if the build is targeting the local Maven repository taskNames.none { it.contains("publishToMavenLocal", ignoreCase = true) || it.contains("publishToLocalMaven", ignoreCase = true) } } -} \ No newline at end of file +}