Skip to content

Continuous Deployment #36

Continuous Deployment

Continuous Deployment #36

Workflow file for this run

name: Continuous Deployment
on:
workflow_run:
workflows: ["Continuous Integration"]
types:
- completed
env:
UV_CACHE_DIR: /tmp/.uv-cache
jobs:
cd:
name: Deploy Release
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
id-token: write
contents: write
steps:
- name: Checkout Repository
uses: actions/[email protected]
with:
fetch-depth: 0
ref: main
- name: Set up UV Environment
uses: astral-sh/[email protected]
with:
enable-cache: true
cache-dependency-glob: uv.lock
- name: Run Python Semantic Release
id: release
uses: python-semantic-release/[email protected]
with:
github_token: '${{ secrets.GITHUB_TOKEN }}'
git_committer_name: 'MountainGod2'
git_committer_email: '[email protected]'
ssh_private_signing_key: '${{ secrets.GIT_COMMIT_SSH_PRIV_KEY }}'
ssh_public_signing_key: '${{ secrets.GIT_COMMIT_SSH_PUB_KEY }}'
- name: Publish to TestPyPI
if: steps.release.outputs.released == 'true'
uses: pypa/[email protected]
with:
repository-url: 'https://test.pypi.org/legacy/'
- name: Test Install from TestPyPI
if: steps.release.outputs.released == 'true'
run: |
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple chaturbate-poller
- name: Publish to PyPI
if: steps.release.outputs.released == 'true'
uses: pypa/[email protected]
- name: Publish to GitHub Releases
if: steps.release.outputs.released == 'true'
uses: python-semantic-release/[email protected]
with:
github_token: '${{ secrets.GITHUB_TOKEN }}'