Skip to content

[ModelicaSystemDoE] use OMCPath #741

[ModelicaSystemDoE] use OMCPath

[ModelicaSystemDoE] use OMCPath #741

Workflow file for this run

name: Test-Publish
on:
push:
branches: ['master']
tags:
- 'v*' # only publish when pushing version tags (e.g., v1.0.0)
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
python-version: ['3.10', '3.12', '3.13']
os: ['ubuntu-latest', 'windows-latest']
omc-version: ['stable', 'nightly']
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Install dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel twine
pip install . pytest pytest-md pytest-emoji pre-commit
- name: Set timezone
uses: szenius/[email protected]
with:
timezoneLinux: 'Europe/Berlin'
- name: Run pre-commit linters
run: 'pre-commit run --all-files'
- name: "Set up OpenModelica Compiler"
uses: OpenModelica/[email protected]
with:
version: ${{ matrix.omc-version }}
packages: |
omc
libraries: |
'Modelica 4.0.0'
- run: "omc --version"
- name: Pull OpenModelica docker image
if: runner.os != 'Windows'
run: docker pull openmodelica/openmodelica:v1.25.0-minimal
- name: Build wheel and sdist packages
run: python -m build --wheel --sdist --outdir dist
- name: Check twine
run: python -m twine check dist/*
- name: Run pytest
uses: pavelzw/pytest-action@v2
with:
verbose: true
emoji: true
job-summary: true
custom-arguments: '-v '
click-to-expand: true
report-title: 'Test Report'
Publish:
name: Publish to PyPI
runs-on: ${{ matrix.os }}
needs: test
strategy:
matrix:
python-version: ['3.10']
os: ['ubuntu-latest']
if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Install dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel twine
- name: Build wheel and sdist packages
run: python -m build --wheel --sdist --outdir dist
- name: Publish wheel and sdist packages to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_OMPYTHON_API_TOKEN }}
run: |
python -m twine upload dist/* --skip-existing