Test Publish mikeplus Python Package #12
This file contains 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
# 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 | |