Skip to content

release environment for trusted publishing #6

release environment for trusted publishing

release environment for trusted publishing #6

Workflow file for this run

name: Publish Python 🐍 distributions πŸ“¦ to PyPI and TestPyPI
on:
workflow_dispatch:
push:
branches:
feature/release-publish-workflow
jobs:
template-generation:
name: 'Generate Template'
runs-on: ubuntu-latest
steps:
- name: 'Check out code'
uses: actions/checkout@v3
- name: 'Install Python'
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: 'Install cookiecutter'
run: pip install cookiecutter
- name: 'Install Poetry'
run: curl -sSL https://install.python-poetry.org | python3 - --version 1.3.2
- name: 'Generate template'
run: cookiecutter --no-input . project_name='Test Project'
- name: 'Generate lock file'
run: poetry -C ./test-project lock
- name: 'Cache generated project'
uses: actions/cache@v3
with:
path: ./test-project
key: test-project-${{ github.run_id }}
template-tests-release-publish:
name: 'Test Release Publish Python 🐍 distributions πŸ“¦ to TestPyPI'
needs: template-generation
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11']
environment:
name: release
url: https://test.pypi.org/RuntimeVerificationTest
permissions:
id-token: write
steps:
- name: 'Install Python'
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: 'Install Poetry'
run: curl -sSL https://install.python-poetry.org | python3 - --version 1.3.2
- name: 'Restore generated project'
uses: actions/cache@v3
with:
path: ./test-project
key: test-project-${{ github.run_id }}
- name: 'Build, Package, Publish'
run: |
cd ./test-project
poetry build