Comments (4)
Prerequisites
-
Create an issue in your repo to track the branch rename.
You can paste this checklist in the issue body. -
If you are not a root approver for the repo, assign a root
approver for approval. -
Once the issue has been approved, send a notice to your SIG's
mailing list about the potential branch rename.
Changes pre-rename
Make the following changes before renaming the branch the master
branch.
Note: There might be additional changes required that have not been
covered in this checklist.
Note: There might be additional information available in the umbrella issue via [kubernetes/org#2222].
Anytime
These changes are non-disruptive and can be made anytime before renaming
the branch.
-
If a presubmit or postsubmit prowjob triggers on the
master
branch
(branches
field of the prowjob), add themain
branch to the list
(see kubernetes/test-infra#20665 for an example). -
If the
milestone_applier
prow config references themaster
branch,
add themain
branch to the config (see kubernetes/test-infra#20675 for an example). -
If the
branch_protection
prow config references themaster
branch,
add themain
branch to the config.
Just before rename
These changes are disruptive and should be made just before renaming the
branch.
-
For periodic prowjobs, or any prowjob that mentions the
master
branch
inbase_ref
, update them to themain
branch. Ensure that these changes
happen in lock-step with the branch rename (jobs triggered in between landing
these changes and renaming the branch will fail).- For bootstrap-based jobs, ensure the branch is explicitly specified,
e.g.kubernetes/foo=main
. kubernetes/test-infra#20667 may eventually
allow for non-disruptive changes. - For pod-utils based jobs, ensure the branch is explicitly specified,
e.g.base_ref: main
. kubernetes/test-infra#20672 may eventually allow
for non-disruptive changes.
- For bootstrap-based jobs, ensure the branch is explicitly specified,
-
If a prowjob mentions
master
in its name, rename the job to not include
the branch name, e.g.pull-repo-verify-master
->pull-repo-verify
.
status-reconciler
should automatically migrate PR status contexts to the
new job name, and retrigger accordingly, but we have anecdotally found it
sometimes misses changes.- NOTE: our infrastructure doesn't understand the concept of job renames, so
from the perspective of e.g. https://testgrid.k8s.io the job will appear to
have lost history and start from scratch.
- NOTE: our infrastructure doesn't understand the concept of job renames, so
-
If a prowjob calls scripts or code in your repo that explicitly
referencemaster
, update all references to usemain
, or auto-detect the
remote branch- e.g. using git to auto-detect
# for existing clones, update their view of the remote git fetch origin git remote set-head origin -a # for new clones, or those updated as above, this prints "main" post-rename echo $(git symbolic-ref refs/remotes/origin/HEAD)
- e.g. using github's api to auto-detect
# gh is https://github.com/cli/cli, this will print "main" post-rename gh api /repos/kubernetes-sigs/slack-infra | jq -r .default_branch
-
If the repo has netlify configured for it, ask a member of the GitHub
Management Team to rename themaster
branch tomain
in the netlify site config.
It can't be controlled through the netlify config in the repo.
Approval
- Once all non-disruptive tasks have been completed and disruptive tasks
have been identified, assign the GitHub Management team (@kubernetes/owners)
for approval.
Rename the default branch
- Rename the default branch from
master
tomain
using the GitHub UI
by following the official instructions.
Changes post-rename
After the default branch has been renamed to main
, make the following
changes.
Note: There might be additional changes required that have not been
covered in this checklist.
Prowjobs
- If a prowjob still references the
master
branch in thebranches
field,
remove themaster
branch (see kubernetes/test-infra#20669 for an example).
Prow config
-
If the
milestone_applier
prow config references themaster
branch,
remove it from the config. -
If the
branch_protection
prow config references themaster
branch,
remove it from the config.
Other
-
If any docs reference the
master
branch, update tomain
(URLs will be automatically redirected). -
Ensure that CI and PR tests work fine.
- If there are any outstanding PRs you can /approve to merge, do so to verify
that presubmits and postsubmits work as expected
- If there are any outstanding PRs you can /approve to merge, do so to verify
-
Trial the local development experience with a pre-rename clone.
- ensure Github instructions to rename your local branch work
- consider updating your fork's default remote branch name such that if you
have git autocompletion enabled, typingma<tab>
will autocomplete tomain
-
Send a notice about the branch rename to your SIG's mailing list.
Include the link to the GitHub instructions to rename your local branch.
from ironic-image.
from ironic-image.
/close
from ironic-image.
@Rozzii: Closing this issue.
In response to this:
/close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
from ironic-image.
Related Issues (20)
- runmariadb seems to fail with MariaDB 10.3.28 HOT 3
- machine partition creation issue when qcow2 user image is supplied HOT 8
- Security scan reports high level vulnerabilities in ironic and ironic-inspector images HOT 5
- ProvisioningError :blkid returns with Exit code:2 HOT 9
- Split up separate components into seperate Images HOT 17
- ironic.common.exception.InvalidMAC: Expected a MAC address but received (WWN) HOT 6
- Image metal3-io/ironic:capm3-v0.4.3 unavailable. HOT 3
- Ironic image cache cleaning removes some of the images
- Image metal3-io/ironic:capm3-v0.5.4 unavailable HOT 3
- Error setting up bootloader. Error UTF-16 stream does not start with BOM: UnicodeError: UTF-16 stream does not start with BOM HOT 11
- unable to build base image HOT 4
- Missing idrac-redfish interface for raid HOT 1
- Feature request: Environment variable to change IPA collectors HOT 1
- Introducing ipxe security hardening options HOT 9
- Nova power notification warning in log HOT 2
- Allow overriding/specifying IRONIC_IP/IRONIC_URL_HOST HOT 8
- Proposal: Extract configuration generation to init-container HOT 20
- Support building for multiple architectures HOT 6
- Ironic-image can't use to be as a http HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ironic-image.