From ec7c5a67caa88329bd23ae6edab3a36a0cc29fe8 Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Tue, 17 Mar 2026 10:57:52 +0100 Subject: [PATCH 1/8] add workflow dispatch --- .github/workflows/uniffi.yaml | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index 8052c534..fd923534 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -3,6 +3,7 @@ env: UNIFFI_DIRECTORY: bindings/uniffi on: + workflow_dispatch: push: branches: - master @@ -22,7 +23,7 @@ on: jobs: build: - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" env: OUTPUT_NAME: zen_uniffi @@ -76,10 +77,18 @@ jobs: path: target/${{ matrix.settings.target }}/release/${{ format(matrix.settings.output, env.OUTPUT_NAME) }} if-no-files-found: error + validate-gradle-wrapper: + runs-on: ubuntu-latest + if: github.event_name == 'workflow_dispatch' + steps: + - uses: actions/checkout@v3 + - name: Validate Gradle wrapper jar + uses: gradle/actions/wrapper-validation@v3 + release-java-kotlin: runs-on: ubuntu-latest needs: [ build ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -142,7 +151,7 @@ jobs: needs: [ build ] permissions: id-token: write # Required for OIDC - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -214,7 +223,7 @@ jobs: --skip-duplicate build-ios: - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" env: OUTPUT_NAME: zen_uniffi IPHONEOS_DEPLOYMENT_TARGET: '16.0' @@ -261,7 +270,7 @@ jobs: create-xcframework: runs-on: macos-latest needs: [ build-ios ] - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" steps: - uses: actions/checkout@v3 @@ -351,7 +360,7 @@ jobs: name: Release iOS runs-on: macos-latest needs: [ create-xcframework ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" steps: - name: Checkout zen-ios @@ -428,7 +437,7 @@ jobs: --base "master" build-android: - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" runs-on: ubuntu-latest env: OUTPUT_NAME: zen_uniffi @@ -475,7 +484,7 @@ jobs: prepare-android-bindings: runs-on: ubuntu-latest needs: [ build ] - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" defaults: run: @@ -513,7 +522,7 @@ jobs: package-android-aar: runs-on: ubuntu-latest needs: [ build-android, prepare-android-bindings ] - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -611,7 +620,7 @@ jobs: release-android: runs-on: ubuntu-latest needs: [ package-android-aar ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} From 509af0186bc9d1504ac033db3e3e3949c56a9052 Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Tue, 17 Mar 2026 11:09:02 +0100 Subject: [PATCH 2/8] do build --- .github/workflows/uniffi.yaml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index fd923534..4a96660e 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -23,7 +23,7 @@ on: jobs: build: - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" env: OUTPUT_NAME: zen_uniffi @@ -77,18 +77,10 @@ jobs: path: target/${{ matrix.settings.target }}/release/${{ format(matrix.settings.output, env.OUTPUT_NAME) }} if-no-files-found: error - validate-gradle-wrapper: - runs-on: ubuntu-latest - if: github.event_name == 'workflow_dispatch' - steps: - - uses: actions/checkout@v3 - - name: Validate Gradle wrapper jar - uses: gradle/actions/wrapper-validation@v3 - release-java-kotlin: runs-on: ubuntu-latest needs: [ build ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} From f90d1c5d545654c29164b1e27630bb25220a4a3d Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Tue, 17 Mar 2026 11:29:39 +0100 Subject: [PATCH 3/8] do build --- .github/workflows/uniffi.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index 4a96660e..a0289bfb 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -23,7 +23,7 @@ on: jobs: build: - if: "!contains(github.event.head_commit.message, 'skip ci')" + if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" env: OUTPUT_NAME: zen_uniffi @@ -80,7 +80,7 @@ jobs: release-java-kotlin: runs-on: ubuntu-latest needs: [ build ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') || github.event_name == 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -100,17 +100,21 @@ jobs: uses: gradle/actions/wrapper-validation@v3 - name: Setup Gradle + if: github.event_name != 'workflow_dispatch' uses: gradle/actions/setup-gradle@v3 - name: Download all artifacts + if: github.event_name != 'workflow_dispatch' uses: actions/download-artifact@v4 with: path: build/generated/resources - name: Move artifacts + if: github.event_name != 'workflow_dispatch' run: mv ../../build ./ - name: Generate Kotlin sources + if: github.event_name != 'workflow_dispatch' run: | cargo run --bin uniffi-bindgen -- generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ @@ -118,18 +122,22 @@ jobs: --out-dir build/generated/kotlin - name: Install uniffi-bindgen-java + if: github.event_name != 'workflow_dispatch' run: cargo install uniffi-bindgen-java - name: Generate Java sources + if: github.event_name != 'workflow_dispatch' run: | uniffi-bindgen-java generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ --out-dir build/generated/java - name: Print directory tree + if: github.event_name != 'workflow_dispatch' run: tree build - name: Publish Maven Artifact + if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} From 1316b0aa072f3af8ea6c337a4ff78f361d0d697c Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Tue, 17 Mar 2026 13:04:49 +0100 Subject: [PATCH 4/8] android and kotlin release --- .github/workflows/uniffi.yaml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index a0289bfb..a5e781cc 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -100,21 +100,17 @@ jobs: uses: gradle/actions/wrapper-validation@v3 - name: Setup Gradle - if: github.event_name != 'workflow_dispatch' uses: gradle/actions/setup-gradle@v3 - name: Download all artifacts - if: github.event_name != 'workflow_dispatch' uses: actions/download-artifact@v4 with: path: build/generated/resources - name: Move artifacts - if: github.event_name != 'workflow_dispatch' run: mv ../../build ./ - name: Generate Kotlin sources - if: github.event_name != 'workflow_dispatch' run: | cargo run --bin uniffi-bindgen -- generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ @@ -122,22 +118,18 @@ jobs: --out-dir build/generated/kotlin - name: Install uniffi-bindgen-java - if: github.event_name != 'workflow_dispatch' run: cargo install uniffi-bindgen-java - name: Generate Java sources - if: github.event_name != 'workflow_dispatch' run: | uniffi-bindgen-java generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ --out-dir build/generated/java - name: Print directory tree - if: github.event_name != 'workflow_dispatch' run: tree build - name: Publish Maven Artifact - if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -437,7 +429,7 @@ jobs: --base "master" build-android: - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" runs-on: ubuntu-latest env: OUTPUT_NAME: zen_uniffi @@ -484,7 +476,7 @@ jobs: prepare-android-bindings: runs-on: ubuntu-latest needs: [ build ] - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" defaults: run: @@ -522,7 +514,7 @@ jobs: package-android-aar: runs-on: ubuntu-latest needs: [ build-android, prepare-android-bindings ] - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -620,7 +612,7 @@ jobs: release-android: runs-on: ubuntu-latest needs: [ package-android-aar ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') || github.event_name == 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} From 94fc78c311244314e881d5fbeeea1afb9cfab52f Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Tue, 17 Mar 2026 13:58:47 +0100 Subject: [PATCH 5/8] upgrade nmcp version --- .github/workflows/uniffi.yaml | 4 +- bindings/uniffi/build.gradle.kts | 79 +++++++++++++++++--------------- 2 files changed, 45 insertions(+), 38 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index a5e781cc..6eed6c02 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -135,7 +135,7 @@ jobs: SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }} - run: ./gradlew publishMavenKotlinPublicationToCentralPortal publishMavenJavaPublicationToCentralPortal + run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=desktop release-csharp: @@ -648,4 +648,4 @@ jobs: SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }} - run: ./gradlew publishMavenKotlinAndroidPublicationToCentralPortal \ No newline at end of file + run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=android \ No newline at end of file diff --git a/bindings/uniffi/build.gradle.kts b/bindings/uniffi/build.gradle.kts index 67f5336b..bedb1500 100644 --- a/bindings/uniffi/build.gradle.kts +++ b/bindings/uniffi/build.gradle.kts @@ -17,7 +17,7 @@ plugins { id("signing") id("org.jetbrains.dokka") version "2.0.0" id("org.jetbrains.dokka-javadoc") version "2.0.0" - id("com.gradleup.nmcp") version "0.0.9" + id("com.gradleup.nmcp") version "1.4.4" } repositories { @@ -138,46 +138,53 @@ tasks { } } +// Use -PpublishScope=desktop|android|all to control which publications are included +val publishScope = (findProperty("publishScope") as String?) ?: "all" + publishing { publications { - create("mavenJava") { - groupId = "io.gorules" - artifactId = "zen-engine" - artifact(tasks["generateJavaJar"]) - artifact(tasks["generateJavaSourcesJar"]) - artifact(tasks["javadocJarJava"]) - - configurePom { - dependency("net.java.dev.jna:jna:5.17.0") + if (publishScope == "all" || publishScope == "desktop") { + create("mavenJava") { + groupId = "io.gorules" + artifactId = "zen-engine" + artifact(tasks["generateJavaJar"]) + artifact(tasks["generateJavaSourcesJar"]) + artifact(tasks["javadocJarJava"]) + + configurePom { + dependency("net.java.dev.jna:jna:5.17.0") + } } - } - create("mavenKotlin") { - groupId = "io.gorules" - artifactId = "zen-engine-kotlin" - artifact(tasks["generateKotlinJar"]) - artifact(tasks["generateKotlinSourcesJar"]) - artifact(tasks["javadocJarKotlin"]) + create("mavenKotlin") { + groupId = "io.gorules" + artifactId = "zen-engine-kotlin" + artifact(tasks["generateKotlinJar"]) + artifact(tasks["generateKotlinSourcesJar"]) + artifact(tasks["javadocJarKotlin"]) - configurePom { - dependency("net.java.dev.jna:jna:5.17.0") + configurePom { + dependency("net.java.dev.jna:jna:5.17.0") + } } } - create("mavenKotlinAndroid") { - groupId = "io.gorules" - artifactId = "zen-engine-kotlin-android" - - artifact("build-android/aar/zen-engine-android-release.aar") { - extension = "aar" - } - artifact(tasks["generateKotlinAndroidSourcesJar"]) - artifact(tasks["javadocJarKotlinAndroid"]) - - configurePom { - dependency("net.java.dev.jna:jna:5.14.0", "aar") - dependency("androidx.core:core-ktx:1.12.0") - dependency("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") + if (publishScope == "all" || publishScope == "android") { + create("mavenKotlinAndroid") { + groupId = "io.gorules" + artifactId = "zen-engine-kotlin-android" + + artifact("build-android/aar/zen-engine-android-release.aar") { + extension = "aar" + } + artifact(tasks["generateKotlinAndroidSourcesJar"]) + artifact(tasks["javadocJarKotlinAndroid"]) + + configurePom { + dependency("net.java.dev.jna:jna:5.14.0", "aar") + dependency("androidx.core:core-ktx:1.12.0") + dependency("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") + } } } } @@ -194,13 +201,13 @@ signing { val signingKey = Base64.getDecoder().decode(signingKeyBase64.get()).toString(Charsets.UTF_8) useInMemoryPgpKeys(signingKey, signingPassphrase.get()) - sign(publishing.publications["mavenJava"], publishing.publications["mavenKotlin"], publishing.publications["mavenKotlinAndroid"]) + sign(*publishing.publications.toTypedArray()) } } nmcp { - publishAllPublications { - publicationType = "USER_MANAGED" + publishAllPublicationsToCentralPortal { + publishingType = "USER_MANAGED" val remoteUsername = providers.environmentVariable("SONATYPE_USERNAME") val remotePassword = providers.environmentVariable("SONATYPE_PASSWORD") From ce33006c7d96bdbed3a3863e3e1665e75cde76a9 Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Wed, 18 Mar 2026 11:47:20 +0100 Subject: [PATCH 6/8] upgrade gradle build version (validation now included) Separate publish for java and kotlin --- .github/workflows/uniffi.yaml | 21 ++++++++++++--------- bindings/uniffi/build.gradle.kts | 9 ++++++--- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index 6eed6c02..3cd9e356 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -96,11 +96,8 @@ jobs: - name: Setup Rust Toolchain uses: dtolnay/rust-toolchain@stable - - name: Validate Gradle wrapper jar - uses: gradle/actions/wrapper-validation@v3 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Download all artifacts uses: actions/download-artifact@v4 @@ -129,13 +126,21 @@ jobs: - name: Print directory tree run: tree build - - name: Publish Maven Artifact + - name: Publish Java Maven Artifact + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} + GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }} + run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=java + + - name: Publish Kotlin Maven Artifact env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }} - run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=desktop + run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=kotlin release-csharp: @@ -625,10 +630,8 @@ jobs: java-version: '21' distribution: 'temurin' - - name: Validate Gradle wrapper jar - uses: gradle/actions/wrapper-validation@v3 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Download Kotlin bindings uses: actions/download-artifact@v4 diff --git a/bindings/uniffi/build.gradle.kts b/bindings/uniffi/build.gradle.kts index bedb1500..911ef655 100644 --- a/bindings/uniffi/build.gradle.kts +++ b/bindings/uniffi/build.gradle.kts @@ -138,12 +138,13 @@ tasks { } } -// Use -PpublishScope=desktop|android|all to control which publications are included +// Use -PpublishScope=java|kotlin|desktop|android|all to control which publications are included +// desktop = java + kotlin val publishScope = (findProperty("publishScope") as String?) ?: "all" publishing { publications { - if (publishScope == "all" || publishScope == "desktop") { + if (publishScope in listOf("all", "desktop", "java")) { create("mavenJava") { groupId = "io.gorules" artifactId = "zen-engine" @@ -155,7 +156,9 @@ publishing { dependency("net.java.dev.jna:jna:5.17.0") } } + } + if (publishScope in listOf("all", "desktop", "kotlin")) { create("mavenKotlin") { groupId = "io.gorules" artifactId = "zen-engine-kotlin" @@ -169,7 +172,7 @@ publishing { } } - if (publishScope == "all" || publishScope == "android") { + if (publishScope in listOf("all", "android")) { create("mavenKotlinAndroid") { groupId = "io.gorules" artifactId = "zen-engine-kotlin-android" From 5b88aff834987a911d68e5f0a60ddc5251461c36 Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Wed, 18 Mar 2026 12:19:20 +0100 Subject: [PATCH 7/8] comment publish to test re-validation --- .github/workflows/uniffi.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index bde0877d..ddf428cf 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -105,14 +105,17 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Download all artifacts + if: github.event_name != 'workflow_dispatch' uses: actions/download-artifact@v4 with: path: build/generated/resources - name: Move artifacts + if: github.event_name != 'workflow_dispatch' run: mv ../../build ./ - name: Generate Kotlin sources + if: github.event_name != 'workflow_dispatch' run: | cargo run --bin uniffi-bindgen -- generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ @@ -120,18 +123,22 @@ jobs: --out-dir build/generated/kotlin - name: Install uniffi-bindgen-java + if: github.event_name != 'workflow_dispatch' run: cargo install uniffi-bindgen-java - name: Generate Java sources + if: github.event_name != 'workflow_dispatch' run: | uniffi-bindgen-java generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ --out-dir build/generated/java - name: Print directory tree + if: github.event_name != 'workflow_dispatch' run: tree build - name: Publish Java Maven Artifact + if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -140,6 +147,7 @@ jobs: run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=java - name: Publish Kotlin Maven Artifact + if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -439,7 +447,7 @@ jobs: --base "master" build-android: - if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" runs-on: ubuntu-latest env: OUTPUT_NAME: zen_uniffi @@ -524,7 +532,7 @@ jobs: package-android-aar: runs-on: ubuntu-latest needs: [ build-android, prepare-android-bindings ] - if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -622,7 +630,7 @@ jobs: release-android: runs-on: ubuntu-latest needs: [ package-android-aar ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') || github.event_name == 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} From 637145c0edcef69e117cbfeb9e4ca0bd03fba3e1 Mon Sep 17 00:00:00 2001 From: bojancrevar Date: Wed, 18 Mar 2026 12:59:40 +0100 Subject: [PATCH 8/8] remove workflow dispatch testing --- .github/workflows/uniffi.yaml | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/.github/workflows/uniffi.yaml b/.github/workflows/uniffi.yaml index ddf428cf..bbec15b0 100644 --- a/.github/workflows/uniffi.yaml +++ b/.github/workflows/uniffi.yaml @@ -3,7 +3,6 @@ env: UNIFFI_DIRECTORY: bindings/uniffi on: - workflow_dispatch: push: branches: - master @@ -23,7 +22,7 @@ on: jobs: build: - if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" env: OUTPUT_NAME: zen_uniffi @@ -85,7 +84,7 @@ jobs: release-java-kotlin: runs-on: ubuntu-latest needs: [ build ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') || github.event_name == 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -105,17 +104,14 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Download all artifacts - if: github.event_name != 'workflow_dispatch' uses: actions/download-artifact@v4 with: path: build/generated/resources - name: Move artifacts - if: github.event_name != 'workflow_dispatch' run: mv ../../build ./ - name: Generate Kotlin sources - if: github.event_name != 'workflow_dispatch' run: | cargo run --bin uniffi-bindgen -- generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ @@ -123,22 +119,18 @@ jobs: --out-dir build/generated/kotlin - name: Install uniffi-bindgen-java - if: github.event_name != 'workflow_dispatch' run: cargo install uniffi-bindgen-java - name: Generate Java sources - if: github.event_name != 'workflow_dispatch' run: | uniffi-bindgen-java generate \ --library build/generated/resources/darwin-x86-64/libzen_uniffi.dylib \ --out-dir build/generated/java - name: Print directory tree - if: github.event_name != 'workflow_dispatch' run: tree build - name: Publish Java Maven Artifact - if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -147,7 +139,6 @@ jobs: run: ./gradlew publishAllPublicationsToCentralPortal -PpublishScope=java - name: Publish Kotlin Maven Artifact - if: github.event_name != 'workflow_dispatch' env: SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} @@ -161,7 +152,7 @@ jobs: needs: [ build ] permissions: id-token: write # Required for OIDC - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -233,7 +224,7 @@ jobs: --skip-duplicate build-ios: - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" env: OUTPUT_NAME: zen_uniffi IPHONEOS_DEPLOYMENT_TARGET: '16.0' @@ -280,7 +271,7 @@ jobs: create-xcframework: runs-on: macos-latest needs: [ build-ios ] - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" steps: - uses: actions/checkout@v3 @@ -370,7 +361,7 @@ jobs: name: Release iOS runs-on: macos-latest needs: [ create-xcframework ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" steps: - name: Checkout zen-ios @@ -447,7 +438,7 @@ jobs: --base "master" build-android: - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" runs-on: ubuntu-latest env: OUTPUT_NAME: zen_uniffi @@ -494,7 +485,7 @@ jobs: prepare-android-bindings: runs-on: ubuntu-latest needs: [ build ] - if: "!contains(github.event.head_commit.message, 'skip ci') || github.event_name == 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" defaults: run: @@ -532,7 +523,7 @@ jobs: package-android-aar: runs-on: ubuntu-latest needs: [ build-android, prepare-android-bindings ] - if: "!contains(github.event.head_commit.message, 'skip ci') && github.event_name != 'workflow_dispatch'" + if: "!contains(github.event.head_commit.message, 'skip ci')" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }} @@ -630,7 +621,7 @@ jobs: release-android: runs-on: ubuntu-latest needs: [ package-android-aar ] - if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi') && github.event_name != 'workflow_dispatch'" + if: "startsWith(github.event.head_commit.message, 'chore(release): publish uniffi')" defaults: run: working-directory: ${{ env.UNIFFI_DIRECTORY }}