|
| 1 | +# Initial PyPI Publishing Instructions |
| 2 | + |
| 3 | +Since this is the first time publishing `fastapi-jwt-harmony` to PyPI, you need to configure a pending publisher first. |
| 4 | + |
| 5 | +## Steps to Configure Pending Publisher on PyPI: |
| 6 | + |
| 7 | +1. **Go to PyPI**: https://pypi.org/ |
| 8 | +2. **Login to your account** |
| 9 | +3. **Navigate to Publishing**: Click on your username → "Your projects" → "Publishing" (in the sidebar) |
| 10 | +4. **Add a new pending publisher** with these details: |
| 11 | + - **PyPI Project Name**: `fastapi-jwt-harmony` |
| 12 | + - **GitHub Repository Owner**: `ivolnistov` |
| 13 | + - **GitHub Repository Name**: `fastapi-jwt-harmony` |
| 14 | + - **Workflow name**: `release.yml` |
| 15 | + - **Environment name**: `pypi` (this matches our workflow) |
| 16 | + |
| 17 | +## Alternative: Manual First Publish |
| 18 | + |
| 19 | +If you prefer to do the first publish manually: |
| 20 | + |
| 21 | +1. **Create an API token on PyPI**: |
| 22 | + - Go to Account settings → API tokens |
| 23 | + - Create a new token for "fastapi-jwt-harmony" |
| 24 | + |
| 25 | +2. **Publish manually**: |
| 26 | + ```bash |
| 27 | + # Download the artifacts from the latest workflow run |
| 28 | + gh run download 16272186164 -n dist |
| 29 | + |
| 30 | + # Upload to PyPI |
| 31 | + uv run --group build twine upload dist/* |
| 32 | + ``` |
| 33 | + |
| 34 | +3. **After first manual publish**, you can add trusted publisher to the existing project |
| 35 | + |
| 36 | +## Current Status |
| 37 | + |
| 38 | +The release workflow has successfully: |
| 39 | +- ✅ Built the package |
| 40 | +- ✅ Tested installation on all platforms |
| 41 | +- ✅ Created a GitHub release |
| 42 | +- ❌ Failed to publish to PyPI (pending publisher not configured) |
| 43 | + |
| 44 | +The built artifacts are ready and can be downloaded from: |
| 45 | +https://github.com/ivolnistov/fastapi-jwt-harmony/actions/runs/16272186164 |
0 commit comments