v1.4.2 #50
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
| name: Publish Packages | |
| on: | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: read | |
| id-token: write # Required for Azure authentication | |
| env: | |
| RELEASE_TAG: ${{ github.ref_name }} | |
| jobs: | |
| publish-railtracks: | |
| name: Publish Railtracks Core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.10" | |
| - name: Ensure assets directory exists | |
| run: | | |
| mkdir -p packages/railtracks/docs/assets | |
| - name: Use root README for PyPI (railtracks) | |
| run: | | |
| cp README.md packages/railtracks/README.md | |
| echo "Copied root README.md into packages/railtracks/ for PyPI" | |
| cp -r docs/assets packages/railtracks/docs/assets | |
| echo "Copied images directory to packages/railtracks/ for PyPI" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install flit | |
| - name: Normalize version number | |
| run: | | |
| VERSION_CLEANED=${{ env.RELEASE_TAG }} | |
| VERSION_CLEANED=${VERSION_CLEANED#v} # Remove 'v' if present | |
| echo "VERSION_CLEANED=$VERSION_CLEANED" >> $GITHUB_ENV | |
| echo "Publishing railtracks version: $VERSION_CLEANED" | |
| - name: Update version in railtracks __init__.py | |
| run: | | |
| sed -i -E 's/__version__ = ".+"/__version__ = "'"$VERSION_CLEANED"'"/' packages/railtracks/src/railtracks/__init__.py | |
| echo "Updated railtracks __init__.py to version $VERSION_CLEANED" | |
| - name: Build and Publish Railtracks Core to PyPI | |
| env: | |
| FLIT_INDEX_URL: "https://upload.pypi.org/legacy/" | |
| FLIT_USERNAME: "__token__" | |
| FLIT_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
| run: | | |
| cd packages/railtracks | |
| flit publish |