Skip to content

Add nmcpPublishCentralPortalDeployment task#251

Draft
marcphilipp wants to merge 2 commits intoGradleUp:mainfrom
marcphilipp:marc/publish-deployment-task
Draft

Add nmcpPublishCentralPortalDeployment task#251
marcphilipp wants to merge 2 commits intoGradleUp:mainfrom
marcphilipp:marc/publish-deployment-task

Conversation

@marcphilipp
Copy link
Copy Markdown

Part of #250.

set -x
./gradlew -p tests/jvm build
./gradlew -p tests/kmp publishAggregationToCentralPortal --configuration-cache
./gradlew -p tests/kmp nmcpPublishCentralPortalDeployment -PnmcpDeploymentId=599ab6f5-dd08-4e7b-ae5a-85b45031715a --configuration-cache
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to use task options with Gratatouille?

Copy link
Copy Markdown
Member

@martinbonnin martinbonnin Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ha! I knew there was a reason why I wanted to do a CLI...

You're right there is nothing like this in Gratatouille. As much as I love being pragmatic for nmcp, I don't want to encourage this pattern in Gratatouille. If the property works for you, I'd keep things like this.

Copy link
Copy Markdown
Member

@martinbonnin martinbonnin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks!

set -x
./gradlew -p tests/jvm build
./gradlew -p tests/kmp publishAggregationToCentralPortal --configuration-cache
./gradlew -p tests/kmp nmcpPublishCentralPortalDeployment -PnmcpDeploymentId=599ab6f5-dd08-4e7b-ae5a-85b45031715a --configuration-cache
Copy link
Copy Markdown
Member

@martinbonnin martinbonnin Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ha! I knew there was a reason why I wanted to do a CLI...

You're right there is nothing like this in Gratatouille. As much as I love being pragmatic for nmcp, I don't want to encourage this pattern in Gratatouille. If the property works for you, I'd keep things like this.

}

logger.lifecycle("Nmcp: put '${request.url}' failed (${result}), retrying... (attempt ${attempt + 1}/${attemptCount})")
logger.lifecycle("Nmcp: ${request.method} '${request.url}' failed (${result}), retrying... (attempt ${attempt + 1}/${attemptCount})")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!


if (kind == Kind.aggregation) {
registerNmcpPublishDeploymentTask(
taskName = "nmcpPublishCentralPortalDeployment",
Copy link
Copy Markdown
Member

@martinbonnin martinbonnin Apr 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit, I'd go with just "nmcpPublishDeployment" because I don't think it's too ambiguous. No strong opinion though, I'm fine leaving this as is if you prefer.

@marcphilipp
Copy link
Copy Markdown
Author

Could you please approve the workflow runs?

@martinbonnin
Copy link
Copy Markdown
Member

Could you please approve the workflow runs?

Done 👍 Sorry I missed that!

@marcphilipp
Copy link
Copy Markdown
Author

Once again, please 🙏

The way the integration tests are orchestrated seems unconventional and confusing to me. Would you be open to converting them to "regular" functional test using a testing framework of your choice? If so, I'd like to do that first

@martinbonnin
Copy link
Copy Markdown
Member

martinbonnin commented Apr 28, 2026

Once again, please 🙏

Done

Would you be open to converting them to "regular" functional test using a testing framework of your choice?

Are you thinking about testKit ? TestKit is useful to test cacheability, different Gradle versions or error messages but in order to assert success, they introduce another layer of indirection and I've grown to dislike them, not to mention that they behave differently in some cases.

The integration tests here are just regular builds, opentests/kmp in IDEA and you can debug them, etc, just like a regular build.

Edit: in all cases, looks like the tests passed 🎉 Is this good to merge?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants