Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
chore: automate release process (DSP-1492) (#52)
* chore: add test action * chore: add setup.cfg * chore: add pr-title-check, release-please and release workflow * chore: add PR template * docs: update documentation according to automated release process * fix: correct package name * chore: add notification action * chore: improve PR title Regex * chore: add upper case to PR title regex
- Loading branch information
1 parent
1176d89
commit 6a96eee
Showing
8 changed files
with
171 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
===REMOVE=== | ||
|
||
Important! Please follow the new guidelines for naming Pull Requests: https://docs.dasch.swiss/developers/dsp/contribution/#pull-request-guidelines | ||
|
||
> **Note:** If a pull request consists consists of *only one* commit when squash-merging it to main, the commit message will *not* be correct. In this case you have to manually ensure that the commit message is identical to the PR title, not the commit that the PR consists of. | ||
===REMOVE=== | ||
|
||
resolves DSP- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
name: PR-Title | ||
|
||
on: | ||
pull_request: | ||
types: [opened, edited, synchronize, reopened] | ||
|
||
jobs: | ||
test: | ||
name: Check PR Title | ||
runs-on: ubuntu-latest | ||
steps: | ||
# check PR title | ||
- uses: deepakputhraya/action-pr-title@master | ||
with: | ||
regex: '([a-z])+(\(([a-z\-_])+\))?!?: ([a-zA-Z ])+ \([A-Z]+-\d+\)' # Regex the title should match. | ||
allowed_prefixes: 'fix,refactor,feat,docs,chore,style,test' # title should start with the given prefix | ||
disallowed_prefixes: 'feature,hotfix,doc' # title should not start with the given prefix | ||
prefix_case_sensitive: true # title prefix are case insensitive | ||
min_length: 7 # Min length of the title | ||
max_length: 60 # Max length of the title |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Release-Please | ||
|
||
# triggered when tests complete on main branch | ||
on: | ||
workflow_run: | ||
workflows: | ||
- "Test" | ||
branches: | ||
- main | ||
types: | ||
- completed | ||
|
||
jobs: | ||
refused: | ||
# Refuse if tests failed | ||
runs-on: ubuntu-latest | ||
if: ${{ github.event.workflow_run.conclusion == 'failure'}} | ||
steps: | ||
- id: refused_step | ||
run: exit 1 | ||
|
||
release-please: | ||
# Automate releases with Conventional Commit Messages as Pull Requests are merged into "main" branch | ||
name: Prepare next release | ||
runs-on: ubuntu-latest | ||
# release only if tests pass | ||
if: ${{ github.event.workflow_run.conclusion == 'success'}} | ||
steps: | ||
- uses: GoogleCloudPlatform/release-please-action@v2 | ||
with: | ||
token: ${{ secrets.GH_TOKEN }} | ||
release-type: python | ||
package-name: dsp-tools | ||
changelog-types: '[{"type": "feat", "section": "Enhancements", "hidden": false }, {"type": "fix", "section": "Bug Fixes", "hidden": false }, {"type": "chore", "section": "Maintenance", "hidden": false }, {"type": "refactor", "section": "Maintenance", "hidden": false }, {"type": "docs", "section": "Documentation", "hidden": false }]' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
name: Release | ||
|
||
on: | ||
release: | ||
types: [released] | ||
|
||
# set environment variables | ||
env: | ||
TOKEN: ${{ secrets.GH_TOKEN }} | ||
TWINE_USERNAME: ${{ secrets.PYPI_USER }} | ||
TWINE_PASSWORD: ${{ secrets.PYPI_PW }} | ||
|
||
jobs: | ||
# release to PyPI | ||
release-pypi: | ||
name: Release to PyPI | ||
runs-on: ubuntu-latest | ||
steps: | ||
# check out repo | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 1 | ||
# install python | ||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.9' | ||
# install pythonn dependencies | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements.txt | ||
# release new version to PyPI | ||
- run: | | ||
make upgrade-dist-tools | ||
make dist | ||
make upload | ||
release-docs: | ||
name: Release Docs | ||
runs-on: ubuntu-latest | ||
steps: | ||
# check out repo | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 1 | ||
# install python | ||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.9' | ||
# install pythonn dependencies | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements.txt | ||
# release latest docs | ||
- run: make publish-docs | ||
|
||
notification: | ||
name: Google chat notification about release and published version | ||
needs: [release-pypi, release-docs] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Send notification to google chat room "DSP releases" | ||
uses: lakto/google-chat-action@main | ||
with: | ||
url: ${{ secrets.GOOGLE_CHAT_DSP_RELEASES_WEBHOOK_URL }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
[metadata] | ||
description-file = README.md |