Skip to content

Commit e2b7214

Browse files
committed
Change docs to reflect new branch structure. Fixes #874
1 parent 0ca94e9 commit e2b7214

File tree

2 files changed

+36
-25
lines changed

2 files changed

+36
-25
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
- 'dev/*'
7+
- 'stable/*'
88

99
env:
1010
REGISTRY: ghcr.io
@@ -16,7 +16,6 @@ jobs:
1616
steps:
1717
- uses: actions/checkout@v2
1818

19-
2019
- name: Log in to the Container registry
2120
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
2221
with:

CONTRIBUTING.md

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,24 @@ If you are contributing code to UDOIT, please follow the guidelines below.
3939

4040
### Forking
4141

42-
If you are an outside contributor, you will need to fork the UDOIT project in order to work on it. If you are familiar with Git, but are unsure of the forking process, read the [Forking Projects](https://guides.github.com/activities/forking/) guide. After you are finished fixing a bug or implementing a feature on your fork, submit a pull request using the appropriate [Dev branch](#dev-branches) as the `base`.
42+
If you are an outside contributor, you will need to fork the UDOIT project in order to work on it. If you are familiar with Git, but are unsure of the forking process, read the [Forking Projects](https://guides.github.com/activities/forking/) guide. Make your changes in an appropriately-named [issue branch](#issue-branches) in your fork. After you are finished fixing a bug or implementing a feature on your fork, submit a pull request back to this repository.
4343

4444
The overall workflow is:
4545

4646
1. Choose an issue to work on, or submit a new one.
4747
2. [Fork this project](https://guides.github.com/activities/forking/)
48-
3. Make the changes necessary to resolve the issue.
49-
4. Test the code in your own environment.
50-
5. Create a pull request
51-
1. Use the appropriate [Dev branch](#dev-branches) as the `base`
52-
2. Write a description of what you did in the `description` field.
53-
3. [Link the pull request to the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
54-
6. Pay attention to the pull request and respond to any questions others have about it. It may take a few back-and-forth communications and changes for your pull request to be approved and merged.
48+
3. Create an [issue branch](#issue-branches).
49+
4. Make the changes necessary to resolve the issue.
50+
5. Test the code in your own environment.
51+
6. Commit and push the code to your fork.
52+
7. Create a pull request back to the ucfopen/UDOIT repository.
53+
1. Write a description of what you did in the `description` field.
54+
2. [Link the pull request to the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
55+
8. Pay attention to the pull request and respond to any questions others have about it. It may take a few back-and-forth communications and changes for your pull request to be approved and merged.
5556

56-
## Branching
57+
### Branching
5758

58-
If you are a member of the UDOIT team, you can either fork the project (using the instructions above) or branch. Refer to the [Issue Branches](#issue-branches) section for the proper naming convention and pull request process.
59+
If you are a member of the UDOIT team, you can either fork the project (using the instructions above) or create a new branch within this repository. Refer to the [Issue Branches](#issue-branches) section for the proper naming convention and pull request process.
5960

6061
## Explanation of Branches and Merging
6162

@@ -64,28 +65,39 @@ UDOIT has a structured flow for how issues, branches, and releases are handled.
6465
### Main Branch
6566

6667
* This is the default branch.
67-
* It always points at the latest release, and thus always production ready.
68+
* Issue branches merge into this branch.
69+
* It represents the latest version of UDOIT, but it is not intended for production use.
6870

69-
### Dev Branches
71+
### Stable Branches
7072

71-
* Naming Convention: `dev/v1-2-10` - a new one for every upcoming release version - following [SEMVER](http://semver.org/). (Note: Hyphens are used instead of periods to preserve compatibility with the Heroku button.)
72-
* Issue branches merge into this branch (never main)
73-
* When this dev branch is ready for release, it is merged into main and deleted
73+
* Naming convention: `stable/major.minor.x`, following [Semantic Versioning](https://semver.org/)
74+
* They represent the latest stable version of each minor release, including all bugfixes and patches up to that point.
75+
* They are intended for production use.
76+
* The current release and previous minor release will receive security vulnerability fixes.
77+
* Only the current release will receive non-security bugfixes.
7478

7579
### Issue Branches
7680

77-
* Naming Convention: `issue/3432-add-package-json-dependency`
78-
* The number is an issue number, and the text is a very short description of the issue.
81+
* Naming Convention: `issue/####-short-description-of-issue`, where `####` is the issue number.
7982
* All issue branches must be tied to an issue, even in your forked version of UDOIT.
8083
* Make sure you update your forked version first, then create your issue branch from the current dev branch.
81-
* After work is completed, create a pull request into the target dev branch (never main).
84+
* After work is completed, create a pull request into `main`.
8285
* After the pull request is merged, the issue branch should be deleted.
8386

84-
### Releases
87+
### Hotfix Branches
88+
89+
* Naimg convention: `hotfix/short-description`
90+
* They represent security vulnerability fixes for the current or previous release.
91+
* After work is completed, create a pull request into the target `stable` branch.
92+
* Also merge these changes into `main` and any other `stable` branch where the vulnerability exists.
93+
94+
## Releases
8595

8696
The steps in this section are performed by the project maintainers.
8797

88-
* After the dev branch for a release is merged into main, a [Release](https://github.com/ucfopen/UDOIT/releases) is created for it. [Article about managing releases](https://docs.github.com/en/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository)
89-
* Releases are named in the format `v1.2.10` (the same as the dev branch, but with periods instead of dashes).
90-
* Each release gets a tag with the same name as the release after it's merged into main.
91-
* It is suggested that you sign release tags for extra trust ([git tag](https://git-scm.com/book/tr/v2/Git-Tools-Signing-Your-Work)).
98+
1. When `main` is ready for a new minor release, a new [stable branch](#stable-branches) is created.
99+
* Patch releases for the current minor release are merged into the existing stable branch.
100+
* Patch releases for previous minor releases are merged directly into the existing stable branch, not into `main`. The remaining steps below are still followed.
101+
2. A new [Release](https://github.com/ucfopen/UDOIT/releases) is created for it, named in the format `major.minor.patch` [Article about managing releases](https://docs.github.com/en/github/administering-a-repository/releasing-projects-on-github/managing-releases-in-a-repository)
102+
3. Each release gets a tag with the same name as the release. This tag points at the appropriate commit hash.
103+
4. It is suggested that you sign release tags for extra trust ([git tag](https://git-scm.com/book/tr/v2/Git-Tools-Signing-Your-Work)).

0 commit comments

Comments
 (0)