maestro icon indicating copy to clipboard operation
maestro copied to clipboard

Request - Publish all Maestro Release Artifacts to Maven Central

Open handstandsam opened this issue 6 months ago • 13 comments

Use case

Our team at Block is developing https://github.com/block/trailblaze and have built a lot of our framework on Maestro's APIs. We are currently using your 1.40.0 published artifacts since none were published for 1.40.3 or 1.41.0, even though those are tagged as releases on GitHub https://github.com/mobile-dev-inc/Maestro/releases. (Example: https://repo.maven.apache.org/maven2/dev/mobile/maestro-orchestra-models/)

Proposal

We have 2 proposals/requests:

  1. Please publish Maven Central Artifacts for every release. This would be helpful to easily pull in all the latest features and bug fixes that are available.
  2. Please publish the cli jar that is currently not on Maven Central. Not having this published means that we would need to bundle the CLI jar with our releases which isn't a path we want to go on.

Anything else?

No response

handstandsam avatar Jun 26 '25 15:06 handstandsam

I wanted to check in on this. It's been 17 days since the last release of Maestro and I wanted to see if the next release could be put on Maven Central like 1.40.0 is. 🙏

handstandsam avatar Jul 12 '25 16:07 handstandsam

Hey @handstandsam — I've started this process. The transition should be complete by next week.

Note that Sonatype S01 publishing was deprecated, so we'll be pushing the updated 2.x.x version which would require min java version 17 next week. Will keep this thread posted as we roll it out. ✅

amanjeetsingh150 avatar Jul 17 '25 13:07 amanjeetsingh150

Thanks! That's perfect. We are currently using Java 17 with our codebase. I've linked our related issue for Trailblaze. 😄

handstandsam avatar Jul 22 '25 11:07 handstandsam

Hey @handstandsam all the maestro artifacts should be published to maven central now including cli.

amanjeetsingh150 avatar Aug 18 '25 12:08 amanjeetsingh150

Thank you for publishing the 2.0.0 version to Maven Central! I see many of the artifacts here, but not the maestro-cli jar at: https://repo.maven.apache.org/maven2/dev/mobile/

ImageImage

Remaining

It does appear to be missing the maestro-cli library which we need for https://github.com/block/trailblaze for "host" mode.

I had not seen maestro-cli published ever, so it needs additional config for publishing:

Would go here: https://github.com/mobile-dev-inc/Maestro/blob/77a2e580aced7eb21d464593c3ed11502ba02afb/maestro-cli/build.gradle.kts#L7-L14

Here is the maestro-client module which is currently publishing: https://github.com/mobile-dev-inc/Maestro/blob/77a2e580aced7eb21d464593c3ed11502ba02afb/maestro-client/build.gradle.kts#L3-L8

handstandsam avatar Aug 18 '25 12:08 handstandsam

The 2.0-dev1 build does have the new maestro-cli-2.0.0.jar, but that is not on maven central.

Here are the contents of the unzipped release including that maestro-cli-2.0.0.jar file: Image

handstandsam avatar Aug 18 '25 12:08 handstandsam

I am digging around to help and try to figure out the config. Some things I spotted:

The cli jar appears to be in the workflow for release, but not snapshots

  • Snapshots: https://github.com/mobile-dev-inc/Maestro/blob/main/.github/workflows/publish-snapshot.yaml
  • Release: https://github.com/mobile-dev-inc/Maestro/blob/77a2e580aced7eb21d464593c3ed11502ba02afb/.github/workflows/publish-release.yaml#L114-L121

handstandsam avatar Aug 18 '25 13:08 handstandsam

I found the unsuccessful run of the publish release action here: https://github.com/mobile-dev-inc/Maestro/actions/runs/17039193377/job/48298625770

It looks like there needs to be configuration for the maven-publish plugin not only for maestro-cli, but the maestro-utils module as well.

> Configure project :maestro-cli
JReleaser Gradle Plugin 1.13.1. Consider becoming a sponsor at https://opencollective.com/jreleaser
w: file:///home/runner/work/Maestro/Maestro/maestro-cli/build.gradle.kts:180:16: 'getter for buildDir: File!' is deprecated. Deprecated in Java
...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':maestro-utils:signMavenPublication'.
> Cannot perform signing task ':maestro-utils:signMavenPublication' because it has no configured signatory

handstandsam avatar Aug 18 '25 13:08 handstandsam

Can we please re-open this issue? 🙏

handstandsam avatar Aug 19 '25 14:08 handstandsam

I saw that the official 2.0.0 version was just marked as released today. However, the 2.0.0 version on maven central got published the other week (when the 2.0.0-beta1 version was published).

For this task, can it auto-publish to maven central when releases are tagged? 🤔

handstandsam avatar Aug 26 '25 20:08 handstandsam

For this task, can it auto-publish to maven central when releases are tagged? 🤔

Yeah that's the plan this got a little messed up because of the major java update. The 2.0.0 would have few fixes missed so I am thinking now what would be the ideal way for you guys to consume the latest 2.0.0.

amanjeetsingh150 avatar Aug 27 '25 06:08 amanjeetsingh150

@amanjeetsingh150 Is this all sorted? Can this be closed?

Fishbowler avatar Nov 27 '25 21:11 Fishbowler