Skip to content

Add release-draft workflow and Marketplace publish; refactor CI tests; bump version to 2.2.0#2

Merged
wl2027 merged 1 commit into
mainfrom
codex/update-github-actions-for-releases-draft
Jun 6, 2026
Merged

Add release-draft workflow and Marketplace publish; refactor CI tests; bump version to 2.2.0#2
wl2027 merged 1 commit into
mainfrom
codex/update-github-actions-for-releases-draft

Conversation

@wl2027

@wl2027 wl2027 commented Jun 6, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Automate creation of GitHub Release drafts from gradle.properties version and attach built plugin artifacts.
  • Separate publishing to JetBrains Marketplace into a dedicated workflow triggered on published releases.
  • Improve CI by splitting and stabilizing test stages and avoiding flaky Plugin Verifier and configuration-cache issues.

Description

  • Replaced single Build workflow with a multi-job pipeline in .github/workflows/build.yml that detects crate version (detect_version), runs tests (test), builds the plugin distribution (release), and creates or updates a draft release with artifacts and changelog.
  • Added publish-marketplace.yml to publish the plugin to JetBrains Marketplace when a release is published and validated against gradle.properties version.
  • Simplified and modernized UI test runner in run-ui-tests.yml to a matrix job that runs ./gradlew ideaUiTest across platforms and uploads UI test reports on failure.
  • Updated test task wiring in build.gradle.kts to register unitTest, integrationTest, and ideaUiTest, added notCompatibleWithConfigurationCache(...) to avoid configuration-cache serialization issues for IntelliJ test setup, and wired check to depend on these tasks.
  • Removed the Plugin Verifier step and the old runIdeForUiTests helper, and added safer Gradle invocation flags in CI (--no-configuration-cache, --console=plain, --continue where appropriate).
  • Bumped project version in gradle.properties from 2.1.0 to 2.2.0 and updated CHANGELOG.md with 2.2.0 notes describing the new release flow and CI changes.

Testing

  • No CI runs were executed as part of this PR; the workflows were added/updated so GitHub Actions will run them on the next push/release.
  • The CI is now configured to run unitTest, integrationTest, and ideaUiTest via Gradle in the test job and to run ideaUiTest in the UI matrix workflow.
  • Test reports are uploaded as artifacts on failure using actions/upload-artifact@v7 (configured per-job reporting behavior).

Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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".

Comment on lines +45 to +46
if git rev-parse --verify --quiet "refs/tags/$version" >/dev/null || \
gh release view "$version" --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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 👍 / 👎.

@wl2027 wl2027 merged commit d012483 into main Jun 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant