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

docs(release-process.md): updates #586

Merged
merged 4 commits into from
Jun 23, 2022
Merged

docs(release-process.md): updates #586

merged 4 commits into from
Jun 23, 2022

Conversation

vdice
Copy link
Member

@vdice vdice commented Jun 16, 2022

  • Updates release-process.md with regards to SDK versioning

@vdice vdice requested a review from itowlson June 16, 2022 20:56
@vdice
Copy link
Member Author

vdice commented Jun 16, 2022

@itowlson looking at #588 perhaps the doc also needs steps on ensuring appropriate Cargo.lock and go.sum files are updated as well?

@vdice
Copy link
Member Author

vdice commented Jun 21, 2022

@itowlson ping on this PR, hoping to get updates in place before I/we forget again on the next release 😂

Copy link
Contributor

@dicej dicej left a comment

Choose a reason for hiding this comment

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

Looks good to me. @itowlson is there anything more to updating the SDK versions than the tags described here?

Copy link
Contributor

@itowlson itowlson left a comment

Choose a reason for hiding this comment

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

Couple of things, some nitty, one not so nitty I'm afraid (and a bit of a mare)

- This will trigger a release build
1. Create a new tag with a `v` and then the version number (`v0.3.1`)
1. Create tags for the Rust and Go SDKs on the same commit as above:
- For the Rust SDK: `spin/templates/v0.3` (Note the `v0.3` - this is intended to remain the same for all patch releases for a given minor version.)
Copy link
Contributor

Choose a reason for hiding this comment

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

This isn't the SDK - this is the templates. Rust SDK versioning is currently accomplished via the main repo tag.

(e.g. `0.3.0` becomes `0.3.1`)
- Bump the version in Spin's `Cargo.toml`
- Bump the version in the Rust SDK as well (`sdk/rust/Cargo.toml`)
- Bump the version for the project templates under the `templates` directory
Copy link
Contributor

Choose a reason for hiding this comment

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

I assume this means SDK references? This is fine for Rust but Go is more involved. For Go, you need to tag the Go SDK, then rev the version in the templates, then regenerate the go.sum file, and commit that too.

Copy link
Member Author

Choose a reason for hiding this comment

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

then regenerate the go.sum file

What is the command that needs to be executed for this? And in which directory? For example, with the http-go template, would it be from templates/http-go/content?

Copy link
Contributor

Choose a reason for hiding this comment

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

Um... I actually don't know... I have been using the archaic process of deleting the sum file, doing a go build, and letting Go recreate it. But you're right. There must be a command.

- This will trigger a release build
1. Create a new tag with a `v` and then the version number (`v0.3.1`)
1. Create tags for the Rust and Go SDKs on the same commit as above:
- For the Rust SDK: `spin/templates/v0.3` (Note the `v0.3` - this is intended to remain the same for all patch releases for a given minor version.)
Copy link
Contributor

Choose a reason for hiding this comment

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

This can/should be omitted if only the patch version is being revved.

@itowlson
Copy link
Contributor

also apologies for missing this earlier!

Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
Copy link
Contributor

@itowlson itowlson left a comment

Choose a reason for hiding this comment

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

Sorry, I fouled up with one of my previous comments. The template tag is a bit faffier than I had told you.

- The `v0.3.1` tag push will trigger a
[release build](https://github.com/fermyon/spin/actions/workflows/release.yml)
1. While waiting for the release, bump the version (e.g. from `0.3.0` to
`0.3.1` in this example) for the project templates under the `templates`
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, this reveals a mistake in my previous comment. The templates tag needs to track the latest patch release. And that tracking needs to be updated after the template content has been updated to the new SDKs. E.g. when v0.3.2 comes out spin/templates/v0.3 should be updated to point to the templates that reference the v0.3.2 SDKs. Sorry about this... it is turning into a bit of a faff...

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah ok. I think I have the correct ordering now in the updated doc. Can you take a look?

I also went the route of extracting the commands needed to update the project templates into make targets in the templates/Makefile -- what do you think of this approach?

@vdice vdice force-pushed the docs/releasing branch 2 times, most recently from b91d5a6 to d8c7eb0 Compare June 22, 2022 21:14
@vdice vdice requested a review from itowlson June 22, 2022 21:15
Copy link
Contributor

@itowlson itowlson left a comment

Choose a reason for hiding this comment

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

Thanks! Can't really comment on the makefile but looks plausible...

Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
@vdice
Copy link
Member Author

vdice commented Jun 22, 2022

Can't really comment on the makefile but looks plausible...

😂 Should work in Unix-y envs (tested on my Mac)... 😬

Most recent commit was just cleaning up the make targets to be less verbose -- no functional changes.

Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
@vdice vdice merged commit a9a0b44 into fermyon:main Jun 23, 2022
@vdice vdice deleted the docs/releasing branch June 23, 2022 13:36
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.

3 participants