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

Switch to release/development branching model #184

Closed
cimnine opened this issue Nov 12, 2019 · 5 comments
Closed

Switch to release/development branching model #184

cimnine opened this issue Nov 12, 2019 · 5 comments
Labels
discussion This issue requires further input from the community. enhancement The issue describes an enhancement that we would like to implement in the future.
Milestone

Comments

@cimnine
Copy link
Collaborator

cimnine commented Nov 12, 2019

Current Behavior

Currently, the master branch is where development happens, and which PRs usually target.
But it's also the branch where all the Docker images are built from.

This leads to situations, where we merge PRs to the master branch, and - when not immediately releasing the branch - the Docker images are getting tagged with a wrong version.

Expected Behavior

The version, which the label on the Docker image portraits, must always be accurate. This helps debugging any issues.

Therefore I suggest the following change of the development workflow:

  • The main branch continues to be the master branch. It must be stable. People clone this branch to get started with the Netbox Docker project. The Docker images continue to be built from this branch.
  • We introduce a develop branch (like the Netbox project already has) to which we continually merge PRs and on which new features are developed and tested. Whenever we decide it's time for a release, we adjust the VERSION file to x.y.z, merge develop to master, tag that merge-commit with the VERSION number, and finally adjust the VERSION file on the develop branch to x.y.z+1-develop.
@cimnine cimnine added enhancement The issue describes an enhancement that we would like to implement in the future. discussion This issue requires further input from the community. labels Nov 12, 2019
@cimnine
Copy link
Collaborator Author

cimnine commented Nov 26, 2019

I'm thinking about ditching the name master for the main branch and using stable or release instead.

@tobiasge
Copy link
Member

I would use release and develop 👍

@cimnine
Copy link
Collaborator Author

cimnine commented Dec 10, 2019

What's left to do:

@cimnine cimnine added this to the 0.16.0 milestone Dec 10, 2019
cimnine added a commit that referenced this issue Dec 20, 2019
Prepares scripts and documentation for #184
@cimnine cimnine mentioned this issue Dec 21, 2019
@rasanentimo
Copy link

Please point the default branch to 'release' instead of 'develop'. It's a bit confusing the follow the guide and not get working environment, for example due to non-working develop branch.

@cimnine
Copy link
Collaborator Author

cimnine commented Jan 13, 2020

Please point the default branch to 'release' instead of 'develop'. It's a bit confusing the follow the guide and not get working environment, for example due to non-working develop branch.

First, there's good new for you:
We will eventually revert to that behavior if we merge and release #214.

In the meantime, existing users should not be affected, since there is still a master branch. Once 0.20.0 is merged, people should update to the release branch. Any further git pull will be on the release branch.

The only concern is new users. For them, we have updated the instructions to clone the project to the following command. It causes the release branch to be automatically checked out. So if people follow the guide, they will get it right.

git clone -b release https://github.com/netbox-community/netbox-docker.git

Edit: The wiki page Getting Started pointed to master, which is still around and which is stable. I have updated the instructions there as well to point to release, which already works right now and will continue working after 0.20.0 is released.

@cimnine cimnine closed this as completed Jan 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion This issue requires further input from the community. enhancement The issue describes an enhancement that we would like to implement in the future.
Projects
None yet
Development

No branches or pull requests

3 participants