1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-26 21:14:19 +00:00
royalnet/.github/workflows/release.yml

89 lines
2.1 KiB
YAML

name: "Automated release"
on:
push:
tags:
- "v*"
defaults:
run:
shell: bash
jobs:
tests:
uses: "./.github/workflows/tests.yml"
build-package:
name: "📦 Build Python package"
runs-on: ubuntu-latest
steps:
- name: "⬇️ Checkout repository"
uses: actions/checkout@v3
- name: "🔨 Setup Python"
uses: actions/setup-python@v3
- name: "🔨 Setup Poetry"
uses: abatilo/actions-poetry@v2.1.5
- name: "🔨 Setup Poetry Python environment"
uses: Steffo99/actions-poetry-deps@v0.2.4
- name: "🏗 Build package with Poetry"
run: poetry build --no-interaction
- name: "⬆️ Upload code package to artifacts"
uses: actions/upload-artifact@v3
with:
name: "Build"
path: dist/*.tar.gz
if-no-files-found: error
- name: "⬆️ Upload wheel package to artifacts"
uses: actions/upload-artifact@v3
with:
name: "Build"
path: dist/*.whl
if-no-files-found: warn
publish-github:
name: "🌐 Publish release on GitHub"
needs:
- "tests"
- "build-package"
runs-on: ubuntu-latest
steps:
- name: "⬇️ Download built packages from artifacts"
uses: actions/download-artifact@v3
with:
name: "Build"
path: dist/
- name: "🌐 Create release"
uses: ncipollo/release-action@v1.10.0
with:
artifactErrorsFailBuild: true
artifacts: dist/*
draft: true
generateReleaseNotes: true
publish-pypi:
name: "🌐 Publish release on PyPI"
needs:
- "tests"
- "build-package"
runs-on: ubuntu-latest
steps:
- name: "⬇️ Download built packages from artifacts"
uses: actions/download-artifact@v3
with:
name: "Build"
path: dist/
- name: "🌐 Upload package"
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: "__token__"
password: ${{ secrets.PYPI_TOKEN }}