Skip to content

Commit

Permalink
Merge pull request #3607 from tig/v1_17_1
Browse files Browse the repository at this point in the history
Fixes #3606 - Release v1.17.1
  • Loading branch information
tig authored Jul 11, 2024
2 parents bf92d12 + 5353f66 commit 2ba37d6
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 40 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/api-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build and publish API docs
on:
push:
# only publish v2 (main or develop); v2 is published via the Terminal.GuiV2Docs repo
branches: [main, develop]
branches: [v1_release, v1_develop]
paths:
- docfx/**

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dotnet-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ name: .NET Core

on:
push:
branches: [ main, develop ]
branches: [ v1_release, v1_develop ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main, develop ]
branches: [ v1_release, v1_develop ]
paths-ignore:
- '**.md'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Publish Terminal.Gui

on:
push:
branches: [ main, develop, v2_release, v2_develop ]
branches: [ v1_release, v1_develop, v2_release, v2_develop ]
tags:
- v*
paths-ignore:
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ We welcome contributions from the community. See [Issues](https://github.com/gui

Terminal.Gui uses the [GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) branching model.

* The `main` branch is always stable, and always matches the most recently released Nuget package.
* The `develop` branch is where bug-fixes to v1.x happens. It is the default branch.
* The `v1_release` branch is always stable, and always matches the most recently released Nuget package.
* The `v1__develop` branch is where bug-fixes to v1.x happens. It is the default branch.
* The `v2_develop` branch is where development on v2.x happens.

### Forking Terminal.Gui
Expand Down
19 changes: 10 additions & 9 deletions GitVersion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,26 @@ mode: ContinuousDeployment
tag-prefix: '[vV]'
continuous-delivery-fallback-tag: pre
branches:
develop:
v1_develop:
mode: ContinuousDeployment
tag: pre
regex: develop
regex: v1_develop
source-branches:
- main
- v1_release
pre-release-weight: 100
main:
v1_release:
tag: rc
increment: Patch
regex: v1_release
source-branches:
- develop
- main
feature:
- v1_develop
- v1_release
v1_feature:
tag: useBranchName
regex: ^features?[/-]
source-branches:
- develop
- main
- v1_develop
- v1_release
pull-request:
tag: PullRequest.{BranchName}
increment: Inherit
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dotnet run
* [Conceptual Documentation](https://gui-cs.github.io/Terminal.Gui/docs/index.html)
* [API Documentation](https://gui-cs.github.io/Terminal.Gui/api/Terminal.Gui)

_The Documentation matches the most recent Nuget release from the `main` branch ([![Version](https://img.shields.io/nuget/v/Terminal.Gui.svg)](https://www.nuget.org/packages/Terminal.Gui))_
_The Documentation matches the most recent Nuget release from the `v1_release_` branch ([![Version](https://img.shields.io/nuget/v/Terminal.Gui.svg)](https://www.nuget.org/packages/Terminal.Gui))_

See the [`Terminal.Gui/` README](https://github.com/gui-cs/Terminal.Gui/tree/master/Terminal.Gui) for an overview of how the library is structured. The [Conceptual Documentation](https://gui-cs.github.io/Terminal.Gui/docs/index.html) provides insight into core concepts.

Expand Down
2 changes: 1 addition & 1 deletion Terminal.Gui/Core/Application.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ namespace Terminal.Gui {
/// </para>
/// <para>
/// When invoked sets the SynchronizationContext to one that is tied
/// to the mainloop, allowing user code to use async/await.
/// to the MainLoop, allowing user code to use async/await.
/// </para>
/// </remarks>
public static class Application {
Expand Down
46 changes: 23 additions & 23 deletions Terminal.Gui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ Doing so will update the `.csproj` files in your branch with version info, which

The following actions will publish the Terminal.Gui package to Nuget:

* A new version tag is defined and pushed to `main` - this is the normal release process.
* A push to the `main` branch without a new version tag - this is a release-candidate build and will be of the form `1.2.3-rc.4`
* A push to the `develop` branch - this is a pre-release build and will be of the form `1.2.3-pre.4`
* A new version tag is defined and pushed to `v1_release` - this is the normal release process.
* A push to the `v1_release` branch without a new version tag - this is a release-candidate build and will be of the form `1.2.3-rc.4`
* A push to the `v1_develop` branch - this is a pre-release build and will be of the form `1.2.3-pre.4`

## Publishing a Release of Terminal.Gui

Expand All @@ -71,17 +71,17 @@ The `tag` must be of the form `v<major>.<minor>.<patch>`, e.g. `v1.2.3`.

### 1) Verify the `develop` branch is ready for release

* Ensure everything is committed and pushed to the `develop` branch
* Ensure your local `develop` branch is up-to-date with `upstream/develop`
* Ensure everything is committed and pushed to the `v1_develop` branch
* Ensure your local `v1_develop` branch is up-to-date with `upstream/v1_develop`

### 2) Create a pull request for the release in the `develop` branch
### 2) Create a pull request for the release in the `v1_develop` branch

The PR title should be of the form "Release v1.2.3"

```powershell
git checkout develop
git pull upstream develop
git checkout -b v2_3_4
git checkout v1_develop
git pull upstream v1_develop
git checkout -b v1_2_3
<touch a file>
git add .
git commit -m "Release v1.2.3"
Expand All @@ -90,36 +90,36 @@ git push

Go to the link printed by `git push` and fill out the Pull Request.

### 3) On github.com, verify the build action worked on your fork, then merge the PR to `develop`
### 3) On github.com, verify the build action worked on your fork, then merge the PR to `v1_develop`

* Merging the PR will trigger the publish action on `upstream` (the main repo) and publish the Nuget package as a pre-release (e.g. `1.2.3-pre.1`).

### 4) Pull the merged `develop` from `upstream`

```powershell
git checkout develop
git pull upstream develop
git checkout v1_develop
git pull upstream v1_develop
```

### 5) Merge `develop` into `main`

```powershell
git checkout main
git pull upstream main
git merge develop
git checkout v1_release
git pull upstream v1_release
git merge v1_develop
```

Fix any merge errors.

At this point, to release a release candidate, push the `main` branch `upstream` without a new tag.
At this point, to release a release candidate, push the `v1_release` branch `upstream` without a new tag.

```powershell
git push upstream main
git push upstream v1_release
```

This will publish `1.2.3-rc.1` to Nuget.

### 6) Create a new annotated tag for the release on `main`
### 6) Create a new annotated tag for the release on `v1_release`

```powershell
git tag v1.2.3 -a -m "Release v1.2.3"
Expand All @@ -146,13 +146,13 @@ https://www.nuget.org/packages/Terminal.Gui

Generate release notes with the list of PRs since the last release.

### 11) Update the `develop` branch with the new version
### 11) Update the `v1_develop` branch with the new version

```powershell
git checkout develop
git pull upstream develop
git merge main
git push upstream develop
git checkout v1_develop
git pull upstream v1_develop
git merge v1_release
git push upstream v1_develop
```

## Nuget
Expand Down

0 comments on commit 2ba37d6

Please sign in to comment.