Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Release action does not use Changelog updates. #20

Open
farost opened this issue Feb 28, 2024 · 0 comments
Open

GitHub Release action does not use Changelog updates. #20

farost opened this issue Feb 28, 2024 · 0 comments

Comments

@farost
Copy link
Member

farost commented Feb 28, 2024

The workflow of our CD is the following (and is taken from an old version of this repo):

  • We build and test the code (correct).
  • We prepare a release draft, copying the last changelog entry to the release notes (correct).
  • We start a separate GitHub action for release, which uses already mentioned release notes as a basis for CHANGELOG.md modification via patchChangelog (correct).
  • We call patchPluginXml from build.gradle.kts and use changeNotes.set() to update "What's new" on the plugin's page... (correct...)
  • But the changelog does not contain information while we run it, so the "What's new" section is empty! (yikes!)

I tried to understand what's the reason of it, and my current thoughts are:

The release run is isolated, and the call of the Gradle's patchPluginXml is executed when we already cleared the saved information.

We don't use Gradle and Gradle configuration caching like the latest version of the template does, so I thought that it's the needed sign: just turn the caching on, change the logic inside build.gradle.kts by copying the updated one from the template project -> profit. However, I've faced this error while building tests:
- Task :patchPluginXmlof typeorg.jetbrains.intellij.tasks.PatchPluginXmlTask: invocation of 'Task.project' at execution time is unsupported.

This issue is caused by the combination of caching and val changelog = project.changelog // local variable for configuration cache compatibility from this example.

I wasn't able to solve the issue from this point, but their build works well.

Summary

Goal: fix the CD step to make it fully automatic and letting it using the same changelogs as GitHub does.

Current state: CHANGELOG.md is only used for GitHub release notes. All these bullet points have to be duplicated to plugin.xml as HTML tags to be shown on the Marketplace.

Where to start: update the whole build and CI/CD configuration following this JetBrains template.

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

No branches or pull requests

1 participant