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

[Merged by Bors] - Bevy release train - add a workflow to manually create a PR updating Bevy version #3283

Closed
wants to merge 4 commits into from

Conversation

mockersf
Copy link
Member

@mockersf mockersf commented Dec 9, 2021

Objective

  • Ensure future Bevy releases happens smoothly

Solution

  • Add a workflow that will open a PR updating all Bevy crate that can be created manually

example PR opened: mockersf#62

The day from this PR does not need to be the release day, it will just open the PR to prepare it. Later if we feel confident, it could push automatically to crates.io.

how to trigger the workflow: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow

@mockersf mockersf added the A-Build-System Related to build systems or continuous integration label Dec 9, 2021
@inodentry
Copy link
Contributor

yeah i think it is good to open the pr provisionally automatically at the start of the week, so that there is time for any needed manual checks/intervention, or finalizing stuff like release notes, before doing the actual release later in the week

.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/workflows/release.yml Outdated Show resolved Hide resolved
@mockersf
Copy link
Member Author

mockersf commented Dec 9, 2021

I did not test the cron and is-it-monday step but they should work...

@cart
Copy link
Member

cart commented Dec 9, 2021

Very cool idea! My biggest question mark at this point is "should this be a cron job or a manually invoked workflow"? I'm down to try the cron job first and we can revisit if the timing ever feels weird. I do like that the cron job serves as a reminder that we need to cut a release soon. Keeps the train on track :)

@mockersf
Copy link
Member Author

mockersf commented Dec 9, 2021

I do like that the cron job serves as a reminder that we need to cut a release soon. Keeps the train on track :)

That was the goal 🚅

But I also left the workflow_dispatch trigger which works for a manual trigger... but the way the action is written, you can manually trigger it only on a Monday...

@DJMcNab
Copy link
Member

DJMcNab commented Dec 9, 2021

Are you sure? I thought the set up is (every day in the first seven days of the month) OR (manually triggered)

@mockersf
Copy link
Member Author

mockersf commented Dec 9, 2021

yup you're right, but the Monday part is not in the cron, it's in the action itself

--no-push \
--exclude ci \
--exclude errors \
--exclude bevy-ios-example
Copy link
Member

@NiklasEi NiklasEi Dec 9, 2021

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not sure how Cart will want to handle crevice: if vendored, it should be renamed to something like bevy_crevice, and the version could be changed to follow the rest of bevy, or we could freeze it to follow more closely upstream

Copy link
Member

Choose a reason for hiding this comment

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

short term we will be vendoring crevice as bevy_crevice. Medium-to-long term, we'll either try to move back upstream, do a hard fork, or build our own thing.

Copy link
Member

Choose a reason for hiding this comment

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

I agree that it makes sense to sync that version number with bevy

Copy link
Member

Choose a reason for hiding this comment

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

This is no longer relevant, as bevy_crevice is no more.

@alice-i-cecile alice-i-cecile added the X-Controversial There is active debate or serious implications around merging this PR label Apr 22, 2022
@alice-i-cecile
Copy link
Member

@mockersf what's your current take on this having seen our first train release? Still useful?

@alice-i-cecile alice-i-cecile added the A-Meta About the project itself label Apr 22, 2022
@cart
Copy link
Member

cart commented Apr 25, 2022

As the one cutting releases, I personally think automating the version number revving is a significant improvement. I think I'd prefer starting the release process to be a manual trigger instead of a cron job though to accommodate the "fuzziness" of the release train. Having a "release pr" pop up when we aren't ready for it, then having conflicts (or non-conflicting mismatched versions) get introduced after the fact seems undesirable.

Copy link
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

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

@mockersf can you swap this to a manual trigger (or close it out)? I agree with Cart that the automated version bumping is great.

@mockersf mockersf force-pushed the bevy-release-train branch from b317d4a to 46f08cc Compare June 1, 2022 21:02
@alice-i-cecile alice-i-cecile removed the X-Controversial There is active debate or serious implications around merging this PR label Jun 1, 2022
@alice-i-cecile alice-i-cecile requested a review from cart June 1, 2022 21:02
@mockersf
Copy link
Member Author

mockersf commented Jun 1, 2022

done, only left the manual trigger!

Copy link
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

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

LGTM, but PR description and title need updating now. I've removed the controversial label.

Ideally we leave a quick note about how to actually use this in the PR description in case someone else ever needs to cut a release.

@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it labels Jun 1, 2022
@mockersf mockersf changed the title Bevy release train - add a workflow to create a PR updating Bevy on a schedule Bevy release train - add a workflow to manually create a PR updating Bevy version Jun 1, 2022
@cart
Copy link
Member

cart commented Jun 1, 2022

bors r+

bors bot pushed a commit that referenced this pull request Jun 1, 2022
…Bevy version (#3283)

# Objective

- Ensure future Bevy releases happens smoothly

## Solution

- Add a workflow that will open a PR updating all Bevy crate that can be created manually

example PR opened: mockersf#62

The day from this PR does not need to be the release day, it will just open the PR to prepare it. Later if we feel confident, it could push automatically to crates.io.


how to trigger the workflow: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
@bors bors bot changed the title Bevy release train - add a workflow to manually create a PR updating Bevy version [Merged by Bors] - Bevy release train - add a workflow to manually create a PR updating Bevy version Jun 1, 2022
@bors bors bot closed this Jun 1, 2022
james7132 pushed a commit to james7132/bevy that referenced this pull request Jun 7, 2022
…Bevy version (bevyengine#3283)

# Objective

- Ensure future Bevy releases happens smoothly

## Solution

- Add a workflow that will open a PR updating all Bevy crate that can be created manually

example PR opened: mockersf#62

The day from this PR does not need to be the release day, it will just open the PR to prepare it. Later if we feel confident, it could push automatically to crates.io.


how to trigger the workflow: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
ItsDoot pushed a commit to ItsDoot/bevy that referenced this pull request Feb 1, 2023
…Bevy version (bevyengine#3283)

# Objective

- Ensure future Bevy releases happens smoothly

## Solution

- Add a workflow that will open a PR updating all Bevy crate that can be created manually

example PR opened: mockersf#62

The day from this PR does not need to be the release day, it will just open the PR to prepare it. Later if we feel confident, it could push automatically to crates.io.


how to trigger the workflow: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Build-System Related to build systems or continuous integration A-Meta About the project itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants