-
Notifications
You must be signed in to change notification settings - Fork 141
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds release please as a tool to automatically create PR's in GitHub incrementing python package versions, as well as building and publishing packages to PyPi on new releases.
- Loading branch information
Showing
4 changed files
with
87 additions
and
1 deletion.
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,73 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
name: release-please | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
|
||
jobs: | ||
release-please: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
release_created: ${{ steps.release.outputs.release_created }} | ||
steps: | ||
- name: Release Please | ||
id: release | ||
uses: googleapis/release-please-action@v4 | ||
with: | ||
token: ${{ secrets.RELEASE_PLEASE_TOKEN }} | ||
|
||
build-and-publish: | ||
runs-on: ubuntu-latest | ||
needs: release-please | ||
if: ${{ needs.release-please.outputs.release_created == 'true' }} | ||
permissions: | ||
# IMPORTANT: this permission is mandatory for trusted publishing | ||
id-token: write | ||
environment: | ||
name: pypi | ||
url: https://pypi.org/p/pikaraoke | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.9' | ||
|
||
- name: Cache Poetry Install | ||
id: cache-poetry | ||
uses: actions/cache@v4 | ||
with: | ||
path: | | ||
/opt/poetry | ||
~/.cache/pypoetry | ||
.venv | ||
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}-${{ hashFiles('**/pyproject.toml') | ||
}} | ||
|
||
- name: Install Poetry | ||
if: steps.cache-poetry.outputs.cache-hit != 'true' | ||
run: | | ||
export POETRY_HOME=/opt/poetry | ||
python3 -m venv $POETRY_HOME | ||
$POETRY_HOME/bin/pip install poetry==1.8.2 | ||
$POETRY_HOME/bin/poetry --version | ||
- name: Add Poetry to PATH | ||
run: echo "/opt/poetry/bin" >> $GITHUB_PATH | ||
|
||
- name: Install Package | ||
run: poetry install --no-interaction --no-ansi | ||
|
||
- name: Build Package | ||
run: poetry build | ||
|
||
- name: Publish Python 🐍 distribution 📦 to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
Empty file.
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,13 @@ | ||
{ | ||
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", | ||
"packages": { | ||
".": { | ||
"package-name": "pikaraoke", | ||
"release-type": "python", | ||
"include-component-in-tag": false, | ||
"include-v-in-tag": false, | ||
"changelog-path": "pikaraoke/CHANGELOG.md", | ||
"version-file": "pikaraoke/version.py" | ||
} | ||
} | ||
} |