Add release-draft workflow and Marketplace publish; refactor CI tests; bump version to 2.2.0#2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fa9c6d6825
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if git rev-parse --verify --quiet "refs/tags/$version" >/dev/null || \ | ||
| gh release view "$version" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then |
There was a problem hiding this comment.
Allow existing drafts to be refreshed
When another commit is pushed while the version remains unchanged, the draft created by the first run makes gh release view "$version" succeed, so this run sets is_new_version=false and skips the release job. The existing draft therefore retains the distribution and target SHA from the earlier commit, even though lines 152–160 explicitly attempt to support updating an existing release. The GitHub CLI documentation confirms that gh release view returns release metadata including isDraft; distinguish published releases/tags from drafts so subsequent successful pushes can rebuild and replace the draft assets.
Useful? React with 👍 / 👎.
Motivation
gradle.propertiesversion and attach built plugin artifacts.Description
Buildworkflow with a multi-job pipeline in.github/workflows/build.ymlthat detects crate version (detect_version), runs tests (test), builds the plugin distribution (release), and creates or updates a draft release with artifacts and changelog.publish-marketplace.ymlto publish the plugin to JetBrains Marketplace when a release is published and validated againstgradle.propertiesversion.run-ui-tests.ymlto a matrix job that runs./gradlew ideaUiTestacross platforms and uploads UI test reports on failure.build.gradle.ktsto registerunitTest,integrationTest, andideaUiTest, addednotCompatibleWithConfigurationCache(...)to avoid configuration-cache serialization issues for IntelliJ test setup, and wiredcheckto depend on these tasks.runIdeForUiTestshelper, and added safer Gradle invocation flags in CI (--no-configuration-cache,--console=plain,--continuewhere appropriate).gradle.propertiesfrom2.1.0to2.2.0and updatedCHANGELOG.mdwith2.2.0notes describing the new release flow and CI changes.Testing
unitTest,integrationTest, andideaUiTestvia Gradle in thetestjob and to runideaUiTestin the UI matrix workflow.actions/upload-artifact@v7(configured per-job reporting behavior).Codex Task