Skip to content

v2.0.0 — Unified Study Platform #3

v2.0.0 — Unified Study Platform

v2.0.0 — Unified Study Platform #3

Workflow file for this run

# Publish studyctl to PyPI using OIDC Trusted Publishing (no API tokens needed).
# Trigger: create a GitHub release tagged v2.x.x
#
# Setup once on PyPI:
# 1. Go to https://pypi.org/manage/project/studyctl/settings/publishing/
# 2. Add GitHub as trusted publisher:
# - Owner: NetDevAutomate
# - Repository: Socratic-Study-Mentor
# - Workflow: publish.yml
# - Environment: (leave blank)
name: Publish to PyPI
on:
release:
types: [published]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Build package
run: uv build --package studyctl --no-sources
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
publish:
needs: build
runs-on: ubuntu-latest
permissions:
id-token: write # OIDC for PyPI trusted publishing
environment:
name: pypi
url: https://pypi.org/project/studyctl/
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
# No API token needed -- uses OIDC