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

deprecate CHANGELOG, improve release action, PR template, Contributing doc #2621

Merged
merged 29 commits into from
Jun 23, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b8defda
update automated github release
twelch Jun 14, 2024
156431b
deprecate CHANGELOG, update CONTRIBUTING
twelch Jun 17, 2024
41a25d1
update release instructions
twelch Jun 18, 2024
f836b4a
release notes nit
twelch Jun 18, 2024
5e176f7
Clarify prerelease name and how to create release branch.
twelch Jun 19, 2024
1fb42e6
enhance pull request template
twelch Jun 19, 2024
7a4968c
answer question in the template
twelch Jun 19, 2024
95e2ac6
update release steps
twelch Jun 21, 2024
71cea09
nit
twelch Jun 21, 2024
ba738f5
clarify release steps
twelch Jun 21, 2024
0150607
update test instruction
twelch Jun 21, 2024
7852b3a
update readme generation docs
twelch Jun 21, 2024
551156d
clarify release file changes
twelch Jun 21, 2024
f9f39ff
make version stage command more specific
twelch Jun 21, 2024
3839d53
clarify jsdoc update task in PR template
twelch Jun 21, 2024
2f639d0
clarify www release step
twelch Jun 21, 2024
e5b4fb4
clarify prerelease semver
twelch Jun 22, 2024
aa2c48c
clarify pull request template testing
twelch Jun 22, 2024
eca85aa
clarify jsdoc comments in pr template
twelch Jun 22, 2024
c2a102f
Update how to contribute docs, simplify pull request template
twelch Jun 22, 2024
dcdca73
improve contributing
twelch Jun 22, 2024
3e91f6b
polish
twelch Jun 22, 2024
84ac227
improve lerna version command
twelch Jun 22, 2024
9018e11
polish
twelch Jun 22, 2024
f324c73
fix step order
twelch Jun 22, 2024
c73206a
Merge branch 'master' into update-release
twelch Jun 22, 2024
76a0298
extraneous close tag
twelch Jun 22, 2024
95276b2
clarify permissions
twelch Jun 22, 2024
9b65aae
clarify install
twelch Jun 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,7 @@ jobs:

- name: Create Github Release
uses: softprops/action-gh-release@v2
with:
make_latest: true
generate_release_notes: true
draft: true
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Changelog is no longer maintained. See Turf Github [releases](https://github.com/Turfjs/turf/releases)

# 7.0.0

## ⚠️ Breaking
Expand Down
51 changes: 45 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,54 @@ it will create a new folder inside `packages` with a simple boilerplate for your

### Prerelease

- Every merged PR should trigger an automatic canary release
- Every commit or PR merged to the master branch will trigger the Github [prerelease](https://github.com/Turfjs/turf/blob/master/.github/workflows/prerelease.yml) action, creating a canary release.
twelch marked this conversation as resolved.
Show resolved Hide resolved
- The version number is calculated by a combination of the output of `git describe` and the `publish:prerelease` script in the root package.json. Specifically having `major` is appropriate for the pre-7.0 development phase, but we should change it to `minor` after 7.0.0 is finally released.

### Release
- If necessary, make and merge a PR to contain any last minute changelog entries or other housekeeping items
- Make a PR that contains the file changes from `pnpm lerna version --no-push 7.0.0` (update the version as necessary)
- When pushing the release PR, use `--follow-tags` to make sure the relevant tag is also pushed
- The CI will start doing the release when the tag is created
- Don't forget to merge your PR
- If necessary, make and merge a PR with any last minute housekeeping items (docs, etc.)
- Review code commits and decide the new version number. If there are breaking changes, then it should be a major version bump, e.g. 6.x.x to 7.0.0. This project follows [semantic versioning](https://semver.org/).

#### Release commands
Run the following release commands, replacing 7.0.0 with the version number to release:

- fetch the latest code from remote origin
twelch marked this conversation as resolved.
Show resolved Hide resolved
```bash
git fetch origin
```

- create a release branch, replace mf with your initials to make it clear whose branch it is.
```bash
get checkout origin/master -b mf/release-7.0.0
```

- increment the version number of all packages, without pushing to origin. This will also create a release tag.
```bash
pnpm lerna version --no-push 7.0.0
twelch marked this conversation as resolved.
Show resolved Hide resolved
```

- check the changed files and stage them for commit. Example:
```bash
git add packages/*/package.json
twelch marked this conversation as resolved.
Show resolved Hide resolved
```

- create new commit on the release branch
```bash
git commit -m "Release v7.0.0"
```

- push the release branch and the release tag. This will trigger the Github [release](https://github.com/Turfjs/turf/blob/master/.github/workflows/release.yml) action.
```bash
git push origin mf/release-7.0.0 --follow-tags
```

#### Release Final Steps
- Create a Pull Request for the release, using the link in the output of the push command. Use the version number for the PR title (e.g. v7.0.0). The PR should be setup to merge your release branch to master. Don't merge the PR yet. Here is an example - https://github.com/Turfjs/turf/pull/2615

- You can view the status of the triggered release action here - https://github.com/Turfjs/turf/actions. Once complete, a new [version](https://www.npmjs.com/package/@turf/turf?activeTab=versions) of all turf packages will have been published on NPM.
twelch marked this conversation as resolved.
Show resolved Hide resolved

- If NPM publish was successful, merge your release PR to master.
- [Snapshot and release](#documentation) a new version of the API docs.
- As part of the release action, a draft Github release will have been created at https://github.com/Turfjs/turf/releases with an auto-generated changelog. Edit and add to the release notes for readability and completeness, specifically noting any breaking changes. Use past releases as a guide. Be sure to "Save draft" each time, then ask for a review from other contributors. Once ready, click `Publish release`. This will make the release notes publicly accessible and notify all watchers of the project.

## Documentation

twelch marked this conversation as resolved.
Show resolved Hide resolved
twelch marked this conversation as resolved.
Show resolved Hide resolved
Expand Down
Loading