Skip to content

Implement CI pipeline #11

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

Merged
merged 13 commits into from
Mar 4, 2025
Merged

Implement CI pipeline #11

merged 13 commits into from
Mar 4, 2025

Conversation

fioan89
Copy link
Collaborator

@fioan89 fioan89 commented Feb 28, 2025

  • support Changelog files and automatic update after a release
  • workflows to build and publish release drafts
  • support for automatic dependencies update via Github's dependabot.

- initial changelog file.
- gradle plugin to automatically manage the changelog (ex: replacing unreleased tag with an actual version at release time)
- jar artefacts should be grouped under a folder whose name acts as a plugin id, which means the version should
  not be present in the name.
- with this patch we differentiate between plugin name (root folder) and plugin id (second level folder)
- patch unreleased section in the changelog with version and release date
- publish the plugin to the marketplace (disabled for now)
- promote draft artefact as released
- upgrades gradle dependencies and plugins
- upgrades github actions
- runs weekly
- kotlin and serialization plugins depend on the minimum targeted Toolbox version
@fioan89 fioan89 marked this pull request as ready for review February 28, 2025 22:08
Copy link
Member

@matifali matifali left a comment

Choose a reason for hiding this comment

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

LGTM except a few comments

- dependency-name: "org.jetbrains.kotlin.jvm"
- dependency-name: "org.jetbrains.kotlin.plugin.serialization"
- dependency-name: "com.google.devtools.ksp"
# these can have breaking changes
Copy link
Member

Choose a reason for hiding this comment

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

Can we detect the breaking changes via some tests in the PRs. I would prefer an auto update over a manual one if we can detect the breaking changes.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

some of the breaking changes (like for example breaking changes in the Toolbox api) can be detected at compile time. Basically the CI pipeline will fail and we can't merge the upgrade. However, the kotlin dependencies will be harder to detect, the compile can work fine but at runtime things might break because of the changes in the kotlin stdlib (just an example) shipped with Toolbox. We would need some end to end tests to detect these kind of changes. :(

CHANGELOG="${CHANGELOG//'%'/'%25'}"
CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
CHANGELOG="${CHANGELOG//$'\r'/'%0D'}"
echo "::set-output name=version::$VERSION"
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good catch. I will fix this everywhere.

fioan89 added 5 commits March 3, 2025 22:23
- github.repository instead of the {owner}/{repo}
- backticks command substitution is deprecated
- by saving the content into an intermediate file
@fioan89 fioan89 merged commit fdb0334 into main Mar 4, 2025
@fioan89 fioan89 deleted the impl-ci-pipeline branch March 4, 2025 18:26
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.

2 participants