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

On 2022-04-05, the default branch will be renamed from "master" to "main" #539

Closed
sethvargo opened this issue Mar 21, 2022 · 35 comments
Closed

Comments

@sethvargo
Copy link
Member

sethvargo commented Mar 21, 2022

On 2022-04-05, the default branch will be renamed from "master" to "main". Your action is currently pinned to "@master". Even though GitHub creates redirects for renamed branches, testing found that this rename breaks existing GitHub Actions workflows that are pinned to the old branch name.

We strongly advise updating your GitHub Action YAML from:

uses: 'google-github-actions/setup-gcloud@master'

to:

uses: 'google-github-actions/setup-gcloud@v0'

While not recommended, you can still pin to the "master" branch by setting the environment variable "SETUP_GCLOUD_I_UNDERSTAND_USING_MASTER_WILL_BREAK_MY_WORKFLOW_ON_2022_04_05=1". However, on 2022-04-05 when the branch is renamed, all your workflows will begin failing with an obtuse and difficult to diagnose error message.

This error message means your GitHub Action is currently pinned to @master. As noted in the error, you can update your action to pin to @v0 instead. You can also pin to a specific Git SHA or tag.

On April 4th, 2022, we will rename the default branch from "master" to "main". While GitHub will properly configure redirects, our previous testing found that GitHub Actions does not respect this redirect. Instead of leaving users with a confusing error message, we've added this explicit error message.

FAQ

Why is this change necessary?
In order to be as inclusive as possible, all the default branches for our GitHub Actions repositories are named main. The setup-gcloud action predates this change. Having some repos use master and some use main is confusing for users, so we are standardizing on main moving forward.

Couldn't you have issued a warning instead of throwing an error?
We have been printing a warning message since December 29.

Should I pin to @v0?
We recommend pinning to the latest major version. This will ensure you get all new features and bug fixes while minimizing the chances of a breaking change. At this time, the latest major version is v0. If you are concerned about breaking changes or security, you should pin to a specific Git SHA instead.

@sethvargo sethvargo added the bug Something isn't working label Mar 21, 2022
@sethvargo sethvargo pinned this issue Mar 21, 2022
@sethvargo sethvargo added question and removed bug Something isn't working labels Mar 21, 2022
otiai10 added a commit to triax/hub that referenced this issue Mar 21, 2022
@bc185168
Copy link

Really slick to do this after work hours, but some of us have offshore devops engineers who are all asleep. Now we can't run builds.

@sethvargo
Copy link
Member Author

Really slick to do this after work hours, but some of us have offshore devops engineers who are all asleep. Now we can't run builds.

Thank you for the feedback @bc185168. We're trying to be as non-invasive as possible. If we did this during "Atlanta" time, it would be the middle of the night for Europe and Asia. There's never a convenient time 😦.

davidbuniat added a commit to activeloopai/shared-github-actions that referenced this issue Mar 22, 2022
@Alexandru-Dobre
Copy link

While I understand the reasons behind the naming changes I don't think breaking builds is the right call. Improving GitHub Actions to get it to properly follow the redirect or making copy of the @v0 branch called "master" would have avoided builds breaking all over the world and people scrambling to fix them. Breaking changes should only be made in the event of a critical security issue as they can have severe consequences on business.

@savvaki
Copy link

savvaki commented Mar 22, 2022

What an unprofessional way of breaking everyone's integration.

@andoshin11
Copy link

Our entire product codebase and build pipeline is now broken.

Personally I was fine with this whole mumbles about main or master, even though it totally seemed nothing but a hypocrisy. However I think the way you pushed your idea is absurd and extremely careless.

BohoCode added a commit to SecureApiGateway/secure-api-gateway-ob-uk-rcs that referenced this issue Mar 22, 2022
jsanhc added a commit to SecureApiGateway/secure-api-gateway-ob-uk-rcs that referenced this issue Mar 22, 2022
* Pin github actions to v0 rather than master

See issue; google-github-actions/setup-gcloud#539

* Update pr.yml

Rollback pipeline runner version to master

Co-authored-by: Jorge Sanchez Perez <[email protected]>
@erwanriou
Copy link

erwanriou commented Mar 22, 2022

Honestly you just broke all my pipelines and i have to change them all manually now, great!

We have been printing a warning message since December 29.

Yes because everyone read absolutely all the logs mostly of the things that works fine since the start right?

For next time:

  • CHECK how much people pipeline you gonna break
  • Inform them with EMAILS and more than one where you talk about BREAKING CHANGES
  • Be CONSISTENT with the date where you are going to apply the breaking change. So far 2022-04-05 is not 2022-03-21
  • DARE update your examples with main branch? all i see here are on: push: branches: - "master" pull_request: branches: - "master" on your own actions. --> https://github.com/google-github-actions/setup-gcloud/blob/master/.github/workflows/setup-gcloud-it.yml Don't you think this is slightly hypocrite (check ur own url line name)?

@bc185168
Copy link

bc185168 commented Mar 22, 2022

We have been printing a warning message [since December 29]

If a job will fail, it should fail on 2022-04-05, not 2022-03-21

@jacderida
Copy link

It's hard to think of another social justice cause that had so much effort for such little impact.

@ftpd
Copy link

ftpd commented Mar 22, 2022

And the worst thing in this is: Black Community, which is considered 'offended' in such cases, doesn't give a single damn how github (or whatever) calls the main/master/most_important/root branch. Yet another time white people decided for Blacks what they "want". Sad.

@adesnmi
Copy link

adesnmi commented Mar 22, 2022

And the worst thing in this is: Black Community, which is considered 'offended' in such cases, doesn't give a single damn how github (or whatever) calls the main/master/most_important/root branch. Yet another time white people decided for Blacks what they "want". Sad.

I wasn't aware you were a spokesperson for the entire black community. I must have missed your anointment.

@ftpd
Copy link

ftpd commented Mar 22, 2022

I wasn't aware you were a spokesperson for the entire black community. I must have missed your anointment.

I wasn't aware GitHub Google was, so it makes two of us.

@erwanriou
Copy link

guys this is not about master or main branches or github. This is about google been unprofessional in their way they handle their own changes. The branches of my crashed repositories where already using main in fact.

@adesnmi
Copy link

adesnmi commented Mar 22, 2022

Black Community, which is considered 'offended' in such cases, doesn't give a single damn how github (or whatever) calls the main/master/most_important/root branch

  1. I can understand if you have an opinion against Google renaming a branch by default, just don't claim to speak for everyone within a community. I know black people who don't care and many who do.

  2. This is Google making a decision themselves, not claiming to speak for a specific community.

@sethvargo
Copy link
Member Author

sethvargo commented Mar 22, 2022

While I understand the reasons behind the naming changes I don't think breaking builds is the right call. Improving GitHub Actions to get it to properly follow the redirect or making copy of the @v0 branch called "master" would have avoided builds breaking all over the world and people scrambling to fix them. Breaking changes should only be made in the event of a critical security issue as they can have severe consequences on business. - @Alexandru-Dobre

@Alexandru-Dobre thank you for the suggestion. We have raised this issue with GitHub and the GitHub Actions team. They believe the current implementation is working as intended. Please keep in mind that we are not the GitHub Actions team and we have no control over how GitHub Actions behaves or resolves references.

Leaving a dangling master branch would have kept builds working, but that branch would have become stale and stagnant over time. Given the number of software supply chain and security issues, this did not feel like an appropriate path. Furthermore, creating a branch named "master" would break the redirect GitHub installs when a branch is renamed.

What an unprofessional way of breaking everyone's integration. - @savvaki

@savvaki - Thank you for the feedback. If you have alternative ideas, we're always open to exploring other options. Our team has been debating this change for many months. Our original attempt of renaming the branch in December broke with unintuitive and confusing error messages. The goal here is to provide a helpful and actionable error message for users.

Our entire product codebase and build pipeline is now broken. - @andoshin11

@andoshin11 - Sorry 😦. We've tried very hard to message this over the past 3 months, emitting warning messages. Please also note that it appears GitHub Actions also appears to be having issues, which is unrelated to our change. If you are seeing general build failures, it might be due to the GitHub issue.

Honestly you just broke all my pipelines and i have to change them all manually now, great! - @erwanriou

@erwanriou - Sorry about that. We've tried very hard to message this over the past 3 months, emitting warning messages. We did check how many pipelines we would break, and I personally submitted over 100 PRs to the top repositories. However, we can only check public repositories. We have no way of emailing maintainers. Please keep in mind that we are not the GitHub Actions team - we merely publish a GitHub Action for interacting with Google Cloud. If we had the information you suggested, we definitely would have used it.

As far as updating master -> main, we haven't made the change yet. The default branch is still named "master", but it throws this error when the GitHub Action is pinned to "master". On 2022-04-05, we are going to rename the branch from "master" to "main". At that point, we can no longer provide an informative and actionable error message, because the GitHub Action will fail at the control plane layer at GitHub (our code will not be invoked). This is what happened when we tried to rename the branch last year. To avoid non-actionable error messages, we're introducing this informative error, largely to echo your point about the warning message. The only mechanism we have to get users to pay attention is to throw errors.

If a job will fail, it should fail on 2022-04-05, not 2022-03-21 - @bc185168

@bc185168 - If we just renamed the branch on 2022-04-05, we would be replaying the December rename attempt.

guys this is not about master or main branches or github. This is about google been unprofessional in their way they handle their own changes. The branches of my crashed repositories where already using main in fact. - @erwanriou

@erwanriou - Could you please share more information? In our testing and in reviewing the code, you should only get this error if you're using google-github-actions/setup-gcloud@master. There is no main branch for this GitHub Action yet, and we advise against pinning to HEAD.


Please try to keep conversation civil. Comments not in line with Google's Code of Conduct are not tolerated.

@rurban
Copy link

rurban commented Mar 22, 2022

Well, main is less "inclusive" and precise than master.

  • master describes mastery, the flawless branch.
  • main describes the ordinary branch for the main people. You won't hear of "main pieces", just "master pieces". Master comes from Meister, magister, not slave-owner as you do suggest. Master is an official craftsman job title. This is extremely offending to masters.

If we want to use the default, we just leave it out. Why recommend @v0 then?

@pmeredit
Copy link

I wonder if I need to change my MS diploma from Master of Science to Main of Science to be more inclusive?

bsiegert added a commit to bsiegert/appengine that referenced this issue Mar 24, 2022
With google-github-actions/setup-gcloud#539, they broke Github workflows
specifying the "master" branch ahead of the rename of the branch to
'main'.
@nsjames
Copy link

nsjames commented Mar 24, 2022

I think along the way we've forgotten that backwards support for public services is imperative. Tooling like this must follow the browser update ethics which state that all previous features must be supported indefinitely, for better or worse.

This isn't some internal company tool, it's one that is integrated into many others with no proper way for you to contact them. Knowing that circumstance the master branch should have been locked at its current version and kept as archived after switching to a main branch, with warnings of depreciation left in the logs. Breaking every single integrator's CI should never have been the way to go, or even an option.

@Xunjin
Copy link

Xunjin commented Mar 24, 2022

I wonder how many of you would have actually seen this change in the date 2022-04-05 and fix before messing your CIs 😅

Of course this was not expected, and I do understand all the points of view as well the complaints. Doesn't mean that I actually agree, this issue is actually starting to being toxic and should be locked by now. (Of course I'm a nobody, so my opinions shouldn't mean a s*** for you).

If you believe that this project is not any more reliable to put in your CIs, just fork it and make one that you trust :)

That's the beauty of OSS.

sue445 added a commit to sue445/primap that referenced this issue Mar 26, 2022
sue445 added a commit to sue445/prismdb that referenced this issue Mar 26, 2022
bsiegert added a commit to bsiegert/appengine that referenced this issue Mar 28, 2022
With google-github-actions/setup-gcloud#539, they broke Github workflows
specifying the "master" branch ahead of the rename of the branch to
'main'.
johntbates added a commit to DataBiosphere/terra-examples that referenced this issue Mar 28, 2022
deploy-to-terra action throws an [error](https://github.com/DataBiosphere/terra-example-notebooks/actions/runs/2054166993):

```
On 2022-04-05, the default branch will be renamed from "master" to "main". Your action is currently pinned to "@master". Even though GitHub creates redirects for renamed branches, testing found that this rename breaks existing GitHub Actions workflows that are pinned to the old branch name.

We strongly advise updating your GitHub Action YAML from:

    uses: 'google-github-actions/setup-gcloud@master'

to:

    uses: 'google-github-actions/setup-gcloud@v0'

While not recommended, you can still pin to the "master" branch by setting the environment variable "SETUP_GCLOUD_I_UNDERSTAND_USING_MASTER_WILL_BREAK_MY_WORKFLOW_ON_2022_04_05=1". However, on 2022-04-05 when the branch is renamed, all your workflows will begin failing with an obtuse and difficult to diagnose error message.

For more information, please see: google-github-actions/setup-gcloud#539
```

This is tracked by a GitHub [issue](google-github-actions/setup-gcloud#539)
johntbates added a commit to DataBiosphere/terra-examples that referenced this issue Mar 28, 2022
deploy-to-terra action throws an [error](https://github.com/DataBiosphere/terra-example-notebooks/actions/runs/2054166993):

```
On 2022-04-05, the default branch will be renamed from "master" to "main". Your action is currently pinned to "@master". Even though GitHub creates redirects for renamed branches, testing found that this rename breaks existing GitHub Actions workflows that are pinned to the old branch name.

We strongly advise updating your GitHub Action YAML from:

    uses: 'google-github-actions/setup-gcloud@master'

to:

    uses: 'google-github-actions/setup-gcloud@v0'

While not recommended, you can still pin to the "master" branch by setting the environment variable "SETUP_GCLOUD_I_UNDERSTAND_USING_MASTER_WILL_BREAK_MY_WORKFLOW_ON_2022_04_05=1". However, on 2022-04-05 when the branch is renamed, all your workflows will begin failing with an obtuse and difficult to diagnose error message.

For more information, please see: google-github-actions/setup-gcloud#539
```

This is tracked by a GitHub [issue](google-github-actions/setup-gcloud#539)
benhalverson added a commit to benhalverson/nodejs.dev that referenced this issue Mar 29, 2022
github changed from master to main for setup-gcloud. See
google-github-actions/setup-gcloud#539
MylesBorins pushed a commit to nodejs/nodejs.dev that referenced this issue Mar 29, 2022
jinglundong pushed a commit to golang/appengine that referenced this issue Apr 4, 2022
With google-github-actions/setup-gcloud#539, they broke Github workflows
specifying the "master" branch ahead of the rename of the branch to
'main'.
@sethvargo sethvargo linked a pull request Apr 5, 2022 that will close this issue
YangJiao0817 pushed a commit to YangJiao0817/harbor that referenced this issue Apr 20, 2022
Adjust it because upstream made it, For more information, please see: google-github-actions/setup-gcloud#539

Signed-off-by: Yang Jiao <[email protected]>
@sethvargo sethvargo unpinned this issue Apr 26, 2022
@Xunjin
Copy link

Xunjin commented Jun 1, 2022

Well for me this issue can be closed and locked, could you do this @sethvargo ?

@therealbluepandabear Well, in my honest opinion, here is not the best place to discuss this. Of course, I do agree with you, if only, the virtual branch was the only action towards a more “inclusivity” of minor groups.

People love to complain on changes, I know changes are hard we don't like it, still ignore that there are a lot of bias against minorities can be really harmful (just read this entire issue, it's cesspool). F*** we are humans, can't we take measures to help others? How hard can this be? The world is already so unfair, let's try to at least balance a little?

Maybe this is the time to question on what do you believe, not only for your privileges, but how can you actually help with small steps. I don't like to talk about this in public, but I took, as a personal quest/mission/goal, to help women enter the “software development world” and I believe I've been successful.

@google-github-actions google-github-actions locked as resolved and limited conversation to collaborators Jun 1, 2022
@sethvargo
Copy link
Member Author

@Xunjin thank you, and done.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging a pull request may close this issue.