Skip to content

Set-up the build and release workflows#3

Merged
azatsarynnyy merged 6 commits into
mainfrom
marketplace
Apr 30, 2026
Merged

Set-up the build and release workflows#3
azatsarynnyy merged 6 commits into
mainfrom
marketplace

Conversation

@azatsarynnyy
Copy link
Copy Markdown
Member

@azatsarynnyy azatsarynnyy commented Apr 23, 2026

https://redhat.atlassian.net/browse/CRW-10664

  • added the publishPlugin Gradle Task, provided by the JetBrains Team, and slightly adapted to our plugin
  • added the Build workflow that is triggered on PRs and on each push to main. After pushing to main, prepare the release draft
  • added the Release workflow that handles the release process based on the previously prepared draft release
  • added the release instructions

Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
@azatsarynnyy azatsarynnyy changed the title [WIP] Set-up the release process Set-up the build and release workflows Apr 27, 2026
@azatsarynnyy azatsarynnyy marked this pull request as ready for review April 27, 2026 12:07
@azatsarynnyy azatsarynnyy requested a review from Copilot April 27, 2026 12:07
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

Comment thread .github/workflows/build.yml
Comment thread .github/workflows/build.yml
Comment thread .github/workflows/release.yml Outdated
Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
@azatsarynnyy
Copy link
Copy Markdown
Member Author

@rgrunber please, take a look

@azatsarynnyy azatsarynnyy requested a review from rgrunber April 29, 2026 09:19
@rgrunber
Copy link
Copy Markdown
Member

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 :


FAILURE: Build failed with an exception.
4 actionable tasks: 4 executed

* What went wrong:
A problem occurred configuring project ':plugin'.
> Could not create task ':plugin:publishPlugin'.
   > Cannot get property 'vendor' on extra properties extension as it does not exist

Is this expected, since I didn't provide a proper token or a missing property ?

Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
@azatsarynnyy
Copy link
Copy Markdown
Member Author

azatsarynnyy commented Apr 29, 2026

@rgrunber
I fixed the release job.
Now, it should fail with
Environment variable JETBRAINS_MARKETPLACE_PUBLISH_TOKEN is not set
🙂

Also, in the fork, I tested skipping uploading to the Marketplace
https://github.com/azatsarynnyy/devspaces-toolbox-plugin/releases/tag/v0.0.3

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.
Copy link
Copy Markdown
Member

@rgrunber rgrunber left a comment

Choose a reason for hiding this comment

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

I see it works on your fork, so 👍 , but for some reason mine was still showing the same error.

@azatsarynnyy azatsarynnyy merged commit e65b946 into main Apr 30, 2026
2 checks passed
@azatsarynnyy azatsarynnyy deleted the marketplace branch April 30, 2026 13:30
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.

3 participants