Set-up the build and release workflows#3
Conversation
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
There was a problem hiding this comment.
Pull request overview
Sets up build/release automation to package and publish the JetBrains Toolbox plugin (incl. Marketplace publishing support).
Changes:
- Adds a Gradle “publish” build-logic plugin that packages and uploads the plugin ZIP to JetBrains Marketplace.
- Introduces GitHub Actions workflows to build artifacts, create a draft release, and publish on release events.
- Centralizes the plugin “vendor” value via Gradle extra properties.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
plugin/build.gradle.kts |
Applies the new publish plugin and defines a vendor extra property. |
gradle/libs.versions.toml |
Adds JetBrains Marketplace REST client dependency coordinates/version. |
build-logic/src/main/kotlin/toolbox/buildlogic/ToolboxGenerateJsonExtension.kt |
Reads vendor from project extra properties when generating extension.json. |
build-logic/src/main/kotlin/toolbox/buildlogic/PublishToolboxPlugin.kt |
New packaging + Marketplace publishing tasks. |
build-logic/build.gradle.kts |
Registers the new Gradle plugin and adds Marketplace client dependency. |
.github/workflows/build.yml |
New CI build + artifact + draft release workflow. |
.github/workflows/release.yml |
New release-triggered Marketplace publish + GitHub release asset upload workflow. |
.DS_Store |
Adds a macOS metadata file (should not be committed). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
|
@rgrunber please, take a look |
|
When I ran the build on my fork, the build job succeeded just fine and also generated a new draft release. However the release job failed with : Is this expected, since I didn't provide a proper token or a missing property ? |
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
|
@rgrunber Also, in the fork, I tested skipping uploading to the Marketplace Upload to the Marketplace is straightforward. Will be tested when we release the next version. Added the Release instructions to the README.md |
Added instructions for editing and publishing draft releases.
rgrunber
left a comment
There was a problem hiding this comment.
I see it works on your fork, so 👍 , but for some reason mine was still showing the same error.
https://redhat.atlassian.net/browse/CRW-10664
publishPluginGradle Task, provided by the JetBrains Team, and slightly adapted to our pluginBuildworkflow that is triggered on PRs and on each push tomain. After pushing tomain, prepare the release draftReleaseworkflow that handles the release process based on the previously prepared draft release