Skip to content

Publish

Publish #103

Workflow file for this run

# Publish Workflow — delegates to mbl-actionhub reusable publish workflow
#
# Triggers:
# - Schedule: every Monday 00:00 UTC
# - Schedule: 1st of every month 00:00 UTC
# - Manual dispatch: workflow_dispatch (optional specific module, optional version override)
#
# Version source of truth: gradle.properties → kmptoolkit.version
# The committed value of `kmptoolkit.version` is what gets published. Bumping
# the version is a code review concern, not a registry-derivation concern.
# Maven Central is consulted only as a sanity check (fail if Maven is ahead).
name: Publish
on:
schedule:
- cron: '0 0 * * 1' # weekly — every Monday 00:00 UTC
- cron: '0 0 1 * *' # monthly — 1st of every month 00:00 UTC
workflow_dispatch:
inputs:
module:
description: 'Specific module to publish (leave empty for all cmp-* modules)'
required: false
type: string
version:
description: 'Override version (leave empty to use kmptoolkit.version from gradle.properties)'
required: false
type: string
permissions:
contents: write # release creation, tag push, branch push for bump PR
pull-requests: write # bump-after-release opens a PR
jobs:
publish:
uses: MobileByteLabs/mbl-actionhub/.github/workflows/publish-kmp-library.yml@v1.6.1
with:
module-pattern: 'cmp-'
module: ${{ inputs.module || '' }}
group-id: 'io.github.mobilebytelabs'
# artifact-id is used only for the Maven Central sanity check — pick any
# cmp-* module that's actively published. cmp-bubble was at 3.2.2 before
# the toolkit-wide 3.2.3 release; both tracks now align at 3.2.3+.
artifact-id: 'cmp-bubble'
version: ${{ inputs.version || '' }}
gradle-properties-key: 'kmptoolkit.version'
verify-against-maven: true
# ── Auto-bump for next cycle ──────────────────────────────────────────
# After a successful publish + GH release, mbl-actionhub delegates to
# mbl-actionhub-bump-version to open a PR bumping kmptoolkit.version
# to the next patch (3.2.3 → 3.2.4). Auto-merge is best-effort.
# If you want a minor/major release for the next cycle, override via
# workflow_dispatch input, or close the auto-PR and bump manually.
bump-after-release: true
next-bump-type: 'patch'
java-version: '21'
java-distribution: 'zulu'
sonatype-host: 'CENTRAL_PORTAL'
create-github-release: true
secrets: inherit