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

ci: Automate releasing via bob #1167

Merged
merged 2 commits into from
Dec 19, 2023
Merged

ci: Automate releasing via bob #1167

merged 2 commits into from
Dec 19, 2023

Conversation

radeksimko
Copy link
Member

@radeksimko radeksimko commented Feb 3, 2023

Context

Releasing currently requires a number of additional steps outside of GitHub. For a simple project with simple release pipeline such as this one, there is no strong benefit to do multi-staged releasing, as some other bigger projects do.

Proposal

Simplify release process by moving promotion steps into a GHA workflow.

TODO

  • Create a dedicated GH bot account with appropriate access
  • Grant access for tf-editor-exp-ci-bot to bob repo
  • Generate new PAT within the GH bot account ^
  • Set PAT as a new secret within this repo BOB_GITHUB_TOKEN
  • Update release docs

@radeksimko radeksimko added the ci Continuous integration/delivery related label Feb 3, 2023
@radeksimko radeksimko marked this pull request as ready for review December 18, 2023 08:58
@radeksimko radeksimko requested a review from a team as a code owner December 18, 2023 08:58
@radeksimko radeksimko force-pushed the ci-automate-bob-releasing branch 2 times, most recently from 55998d5 to 7cf2ff3 Compare December 18, 2023 09:02
@dbanck
Copy link
Member

dbanck commented Dec 18, 2023

Can we run the staging and production back to back? Or do we have to wait until staging completes before running production?

@radeksimko
Copy link
Member Author

Can we run the staging and production back to back? Or do we have to wait until staging completes before running production?

I have added the dependency on line 49 https://github.com/hashicorp/terraform-ls/pull/1167/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R49 but it's not strictly necessary. The real "awkward part" though about the whole process is that both bob commands are only triggers and do not wait for completion, so the dependency won't make that much of a difference in reality.

I discussed this problem more with the RelEng team and they are planning to remove the requirement of staging altogether some time in 2024, which should eventually resolve this awkwardness.

Strictly speaking - and to answer your question - it should be fine because the production workflow does not require staging to finish until it is actually approved.

@dbanck
Copy link
Member

dbanck commented Dec 18, 2023

Thanks for the additional context. Should we add a note to the README that we need to wait until the staging workflow has succeeded and the artifacts have landed in the staging bucket (also a good time to manually test the build) before approving the production workflow?

@radeksimko
Copy link
Member Author

@dbanck added a step for this in the instructions, PTAL

.github/CONTRIBUTING.md Outdated Show resolved Hide resolved
Copy link
Member

@dbanck dbanck left a comment

Choose a reason for hiding this comment

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

Nice!

@radeksimko radeksimko merged commit f76188d into main Dec 19, 2023
21 checks passed
@radeksimko radeksimko deleted the ci-automate-bob-releasing branch December 19, 2023 08:44
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 19, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ci Continuous integration/delivery related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants