Skip to content

docs: update CHANGELOG for v0.2.12 #39

docs: update CHANGELOG for v0.2.12

docs: update CHANGELOG for v0.2.12 #39

Workflow file for this run

name: Publish to PyPI
on:
# Trigger after CI workflow completes successfully on master/main
workflow_run:
workflows: ["CI"]
types: [completed]
branches: [master, main]
# Also support manual tag-based releases
release:
types: [published]
push:
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
# Only run if CI succeeded (for workflow_run trigger) or for tags/releases
if: |
github.event_name == 'release' ||
github.event_name == 'push' ||
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
fetch-depth: 0 # Fetch all history for hatch-vcs versioning
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build package
run: uv build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
publish-pypi:
runs-on: ubuntu-latest
needs: [build]
# Publish on: releases, tag pushes, or successful CI on master/main
if: |
github.event_name == 'release' ||
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) ||
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
environment:
name: pypi
url: https://pypi.org/p/klondike-spec-cli
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true