typedb-osi / typeql-plugin-jetbrains

TypeQL plugin for JetBrains
MIT License
10 stars 6 forks source link

GitHub Release action does not use Changelog updates. #20

Open farost opened 4 months ago

farost commented 4 months ago

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

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.