chore(release): provide a way to create a local release with less grunt work (#429)

* docs(contributing): add information to update the changelog

* docs(changelog): add a first draft

it needs to contain the new PRs and only contains a not very nice version of the previous release to have an example

* chore(release): propose a way to locally generate a release
This commit is contained in:
Geoffrey Testelin 2021-06-02 23:06:55 +02:00 committed by GitHub
parent 5fbbfba142
commit c2acfb4dd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1411 additions and 3 deletions

3
.versionrc.json Normal file
View File

@ -0,0 +1,3 @@
{
"header": "### Actions Stale Changelog\n"
}

View File

@ -1,4 +1,4 @@
### Building and testing
# Building and testing
Install the dependencies.
@ -36,10 +36,32 @@ Run the linter and fix (almost) every issue for you :heavy_check_mark:
$ npm lint:all:fix
```
### Before creating a PR
# Before creating a PR
## Build and quality checks
Build, lint, package and test everything.
```bash
$ npm all
```
# Release
Based on [standard-version](https://github.com/conventional-changelog/standard-version).
## Define the new version
You can run `npm run release:dry-run` to create a dry-run, or you can directly run `npm run release` to create a new local release.
It will run `prerelease` beforehand to build and pack everything.
If the `prerelease` succeeded, a bump of version will happen based on the unreleased commits.
It will:
- Update the _package.json_ version field
- Update the _package-lock.json_ version field
- Update the _CHANGELOG.md_ to include the release notes of the new version
- Create a local tag
- Create a commit
If everything generated seems ok for you, you can push your tag by running `git push --follow-tags origin {your-branch-name}`.

1379
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,10 @@
"test": "jest",
"test:only-errors": "jest --reporters jest-silent-reporter --silent",
"test:watch": "jest --watch --notify --expand",
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test"
"all": "npm run build && npm run format && npm run lint && npm run pack && npm test",
"prerelease": "npm run build && npm run pack",
"release": "standard-version",
"release:dry-run": "standard-version --dry-run"
},
"repository": {
"type": "git",
@ -52,6 +55,7 @@
"jest-silent-reporter": "^0.4.0",
"js-yaml": "^4.0.0",
"prettier": "^2.2.1",
"standard-version": "^9.2.0",
"terminal-link": "^2.1.1",
"ts-jest": "^26.5.3",
"typescript": "^4.2.4"