Skip to content

v2024.1.1

v2024.1.1 #1

Workflow file for this run

# This workflows will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
name: 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 "2024_1.7z" -p${{ secrets.MIKE_2024_0_7Z }}
- name: Install MIKE+ dependency
run: |
./install.ps1 2024
- 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 ☹️
# using a trusted publisher is recommended:
# https://docs.pypi.org/trusted-publishers/
# uncomment if you want to upload to PyPI
# - name: Publish package distributions to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
- name: Publish
env:
TWINE_USERNAME: '__token__'
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
twine upload --verbose dist/*.whl