v2.0.0 — Unified Study Platform #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |