Skip to content

Commit

Permalink
build(publication): modifying workflows to publish snapshot packages (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
DariusIMP authored Feb 7, 2024
1 parent 214c9ce commit f6142a0
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 8 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,26 @@ jobs:
steps:
- name: Check whether all jobs pass
run: echo '${{ toJson(needs) }}' | jq -e 'all(.result == "success")'

# Publish snapshot packages. These jobs will only be triggered when the CI is executed on main.
publish_jvm_snapshot_package:
name: Publish JVM snapshot package
if: github.ref == 'refs/heads/main'
needs: ci
uses: ./.github/workflows/publish_jvm.yml
permissions:
contents: read
packages: write
with:
snapshot: true

publish_android_snapshot_package:
name: Publish Android snapshot package
if: github.ref == 'refs/heads/main'
needs: ci
uses: ./.github/workflows/publish_android.yml
permissions:
contents: read
packages: write
with:
snapshot: true
19 changes: 18 additions & 1 deletion .github/workflows/publish_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ name: Publish Android
on:
release:
types: [published]
workflow_call:
inputs:
snapshot:
required: true
type: boolean
description: 'If the publication is for a snapshot version.'
default: false
workflow_dispatch:

env:
Expand Down Expand Up @@ -49,9 +56,19 @@ jobs:
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1

- name: Set pub mode env var
# Note: This step is intended to allow publishing snapshot packages.
# It allows to optionally append the property -PSNAPSHOT to the gradle
# publication task on the next step, resulting in the package version
# following the convention '<version>-SNAPSHOT'.
run: |
if [[ "${{ inputs.snapshot }}" == "true" ]]; then
echo "PUB_MODE=-PSNAPSHOT" >> $GITHUB_ENV
fi
- name: Gradle Publish Android Package
uses: gradle/gradle-build-action@v2
with:
arguments: publishAndroidReleasePublicationToGithubPackagesRepository
arguments: publishAndroidReleasePublicationToGithubPackagesRepository ${{ env.PUB_MODE }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19 changes: 18 additions & 1 deletion .github/workflows/publish_jvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ name: Publish JVM
on:
release:
types: [published]
workflow_call:
inputs:
snapshot:
required: true
type: boolean
description: 'If the publication is for a snapshot version.'
default: false
workflow_dispatch:

env:
Expand Down Expand Up @@ -153,9 +160,19 @@ jobs:
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1

- name: Set pub mode env var
# Note: This step is intended to allow publishing snapshot packages.
# It allows to optionally append the property -PSNAPSHOT to the gradle
# publication task on the next step, resulting in the package version
# following the convention '<version>-SNAPSHOT'.
run: |
if [[ "${{ inputs.snapshot }}" == "true" ]]; then
echo "PUB_MODE=-PSNAPSHOT" >> $GITHUB_ENV
fi
- name: Gradle Publish JVM Package
uses: gradle/gradle-build-action@v2
with:
arguments: publishJvmPublicationToGithubPackagesRepository
arguments: publishJvmPublicationToGithubPackagesRepository ${{ env.PUB_MODE }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5 changes: 5 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
// ZettaScale Zenoh Team, <[email protected]>
//

val zenohGroup = "io.zenoh"
val zenohVersion = "1.0.0"

buildscript {
repositories {
Expand All @@ -35,6 +37,9 @@ plugins {
}

subprojects {
group = zenohGroup
version = zenohVersion

repositories {
google()
mavenCentral()
Expand Down
3 changes: 0 additions & 3 deletions examples/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
// ZettaScale Zenoh Team, <[email protected]>
//

group = "io.zenoh"
version = "0.11.0-dev"

plugins {
kotlin("jvm")
}
Expand Down
7 changes: 4 additions & 3 deletions zenoh-kotlin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
// ZettaScale Zenoh Team, <[email protected]>
//

group = "io.zenoh"
version = "0.11.0-dev"

plugins {
id("com.android.library")
kotlin("multiplatform")
Expand Down Expand Up @@ -122,6 +119,10 @@ kotlin {
}

publishing {
publications.withType<MavenPublication> {
version = project.version.toString() + if (project.hasProperty("SNAPSHOT")) "-SNAPSHOT" else ""
}

repositories {
maven {
name = "GithubPackages"
Expand Down

0 comments on commit f6142a0

Please sign in to comment.