smithy-lang / smithy-rs

Code generation for the AWS SDK for Rust, as well as server and generic smithy client generation.
Apache License 2.0
507 stars 190 forks source link

Allow multiple releases per day in the smithy-rs repository #3875

Closed ysaito1001 closed 1 month ago

ysaito1001 commented 1 month ago

Motivation and Context

Currently, we can only make one smithy-rs release per day, and this restricts our ability to respond to urgent issues. This PR lifts that limitation, allowing us to make multiple releases per day.

Description

The core of this change is in the render subcommand of changelogger. When generating a date-based release tag, it now checks for existing tags on the same day. If a tag already exists, the render subcommand will append a numerical suffix to ensure the new tag is unique.

In fact, appending a numerical suffix to make a release tag unique has been a workaround in our release pipeline (outside the smithy-rs repository) for quite some time. With the changes in this PR, we can eliminate that temporary solution from the release pipeline.

Now that changelogger requires access to previous tags, CI steps that run generate-smithy-rs-release need to checkout the smithy-rs repository with all tags (fetch-depth: 0 is for that purpose).

Testing


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

github-actions[bot] commented 1 month ago

A new generated diff is ready to view.

A new doc preview is ready to view.

github-actions[bot] commented 1 month ago

A new generated diff is ready to view.

A new doc preview is ready to view.