Skip to content
Unverified Commit de4bc454 authored by ysaito1001's avatar ysaito1001 Committed by GitHub
Browse files

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

## 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
- [x] Added unit tests for `changelogger`
- [x] Successfully bumped the release tag in
[dry-run](https://github.com/smithy-lang/smithy-rs/actions/runs/11356509152/job/31588857360#step:8:26)
(based on [this dummy
change](https://github.com/smithy-lang/smithy-rs/commit/cb19b31eaa506d66d9869261c920784ccc311b15)
to trick `changelogger` into thinking that it has to bump a release tag)
- [x] Successfully bumped the release tag in the release pipeline
(without the temporary hack we placed last year)

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
parent c8c610f1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment