Compare commits

...

3 Commits

Author SHA1 Message Date
kalzoo
ee4265492d docs: Add semantic release information and issue template 2021-11-16 22:42:31 -08:00
kalzoo
32faddf322 chore: Add Semantic Release GitHub action 2021-11-16 22:42:03 -08:00
kalzoo
89d1f47fac Install Semantic Release 2021-11-16 22:30:16 -08:00
6 changed files with 4127 additions and 0 deletions

9
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,9 @@
## Description
<!-- Thanks for contributing to betterproto! Add a thorough explanation of what your changes do below this line: -->
## Checklist
- [ ] This PR targets the `rc` branch (**not** `master`).
- [ ] [If this should release a new version to PyPI when merged] The title of the PR follows the [Angular Conventional Commit](https://www.conventionalcommits.org/) syntax (`feat:` or `fix:`, with `BREAKING CHANGE:` in the commit message body if appropriate), and clearly describes the fix or feature.
- [ ] Documentation is updated (`README.md` and docstrings).

View File

@ -16,12 +16,18 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with:
persist-credentials: false
- name: Set up Python 3.8 - name: Set up Python 3.8
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.8 python-version: 3.8
- name: Install poetry - name: Install poetry
run: python -m pip install poetry run: python -m pip install poetry
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build package - name: Build package
run: poetry build run: poetry build
- name: Publish package to PyPI - name: Publish package to PyPI

1
.gitignore vendored
View File

@ -6,6 +6,7 @@
.pytest_cache .pytest_cache
.python-version .python-version
build/ build/
node_modules/
tests/output_* tests/output_*
**/__pycache__ **/__pycache__
dist dist

View File

@ -498,6 +498,16 @@ protoc \
- [x] Automate running tests - [x] Automate running tests
- [ ] Cleanup! - [ ] Cleanup!
## Release
New versions are versioned and released using [Semantic Release](https://github.com/semantic-release/semantic-release). When new commits
using the Angular Conventional Commits syntax land on `master` or `rc`, those commits are used to determine what new version to release.
All Pull Requests must target the `rc` branch; when merged into `rc` they will publish new release candidate (`rc`) versions to PyPI
automatically. When maintainers want to publish a new full release, they simply merge `rc` into `master`. This flow ensures that features
and fixes are published quickly and continuously rather than awaiting a manual release process.
## Community ## Community
Join us on [Slack](https://join.slack.com/t/betterproto/shared_invite/zt-f0n0uolx-iN8gBNrkPxtKHTLpG3o1OQ)! Join us on [Slack](https://join.slack.com/t/betterproto/shared_invite/zt-f0n0uolx-iN8gBNrkPxtKHTLpG3o1OQ)!

52
package.json Normal file
View File

@ -0,0 +1,52 @@
{
"name": "python-betterproto-semantic-release",
"version": "1.0.0",
"description": "Encapsulate dependencies needed to use semantic-release",
"dependencies": {
"@semantic-release/exec": "^5.0.0",
"@semantic-release/git": "^9.0.0",
"@semantic-release/gitlab": "^6.0.4",
"conventional-changelog-eslint": "^3.0.8",
"semantic-release": "^17.1.1"
},
"release": {
"branches": [
"master",
{
"name": "rc",
"prerelease": true
}
],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "angular"
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "angular"
}
],
[
"@semantic-release/exec",
{
"prepareCmd": "poetry version ${nextRelease.version}"
}
],
"@semantic-release/github",
[
"@semantic-release/git",
{
"assets": [
"pyproject.toml"
],
"message": "Release v${nextRelease.version} [skip ci]"
}
]
],
"repositoryUrl": "ssh://git@github.com/danielgtaylor/python-betterproto.git"
}
}

4049
yarn.lock Normal file

File diff suppressed because it is too large Load Diff