Skip to content

v1.4.2

v1.4.2 #50

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