Skip to content

Test Publish mikeplus Python Package #12

Test Publish mikeplus Python Package

Test Publish mikeplus Python Package #12

# Use this file to test publishing mikeplus package to TestPyPI
#
# Same as python_publish.yml, but:
#
# - Manually triggered
# - No publishing to PyPI, instead it published to TestPyPI
#
name: Test Publish mikeplus Python Package
on:
workflow_dispatch:
# release:
# types: [created]
jobs:
deploy:
runs-on: windows-latest
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1 # Fail fast if there are any linting errors
- name: Checkout branch with MIKE+ dependency
uses: actions/checkout@v3
with:
lfs: true
ref: cicd_dependencies
- name: Unzip MIKE+ dependency
run: |
7z x "2025_0.7z" -p${{ secrets.MIKE_2024_0_7Z }}
- name: Install MIKE+ dependency
run: |
./install.ps1 2025
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
lfs: true
- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '6.0.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
pip install build wheel twine
- name: Install mikepluspy
run: |
python -m pip install -e .[test]
- name: Test with pytest
run: |
pytest -v -m "not license_required and not slow"
- name: Build package
run: python -m build --wheel
- name: Archive distributions
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/
# Doesn't run on Windows ☹️
#- name: Publish package distributions to TestPyPI
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# repository-url: https://test.pypi.org/legacy/
- name: Publish
env:
TWINE_USERNAME: '__token__'
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_PASSWORD }}
run: |
twine upload --verbose -r testpypi dist/*.whl