Convert to pyproject.toml #79
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
name: Build FMPy | ||
on: | ||
push: | ||
branches: [ main ] | ||
tags: [ 'v*' ] | ||
pull_request: | ||
branches: [ main ] | ||
jobs: | ||
build-binaries: | ||
strategy: | ||
matrix: | ||
include: | ||
- name: windows | ||
image: windows-2022 | ||
- name: linux | ||
image: ubuntu-20.04 | ||
- name: darwin | ||
image: macos-13 | ||
runs-on: ${{ matrix.image }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: 'true' | ||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.10' | ||
- run: python -m pip install fmpy requests toml | ||
- run: | | ||
cd native | ||
python build_cvode.py | ||
- run: | | ||
cd native | ||
python build_binaries.py | ||
- if: matrix.name == 'linux' || matrix.name == 'windows' | ||
run: | | ||
cd native | ||
python build_remoting.py | ||
- if: matrix.name == 'darwin' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ matrix.name }} | ||
path: | | ||
src/fmpy/cswrapper/cswrapper.dylib | ||
src/fmpy/fmucontainer/binaries/darwin64/FMUContainer.dylib | ||
src/fmpy/logging/darwin64/logging.dylib | ||
src/fmpy/sundials/x86_64-darwin/sundials_cvode.dylib | ||
src/fmpy/sundials/x86_64-darwin/sundials_nvecserial.dylib | ||
src/fmpy/sundials/x86_64-darwin/sundials_sunlinsoldense.dylib | ||
src/fmpy/sundials/x86_64-darwin/sundials_sunmatrixdense.dylib | ||
if-no-files-found: error | ||
- if: matrix.name == 'linux' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ matrix.name }} | ||
path: | | ||
src/fmpy/cswrapper/cswrapper.so | ||
src/fmpy/fmucontainer/binaries/linux64/FMUContainer.so | ||
src/fmpy/remoting/linux64/client_tcp.so | ||
src/fmpy/remoting/linux64/server_tcp | ||
src/fmpy/logging/linux64/logging.so | ||
src/fmpy/sundials/x86_64-linux/sundials_cvode.so | ||
src/fmpy/sundials/x86_64-linux/sundials_nvecserial.so | ||
src/fmpy/sundials/x86_64-linux/sundials_sunlinsoldense.so | ||
src/fmpy/sundials/x86_64-linux/sundials_sunmatrixdense.so | ||
if-no-files-found: error | ||
- if: matrix.name == 'windows' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ${{ matrix.name }} | ||
path: | | ||
src/fmpy/cswrapper/cswrapper.dll | ||
src/fmpy/fmucontainer/binaries/win32/FMUContainer.dll | ||
src/fmpy/fmucontainer/binaries/win64/FMUContainer.dll | ||
src/fmpy/remoting/win32/client_sm.dll | ||
src/fmpy/remoting/win32/client_tcp.dll | ||
src/fmpy/remoting/win32/server_tcp.exe | ||
src/fmpy/remoting/win32/server_sm.exe | ||
src/fmpy/remoting/win64/client_sm.dll | ||
src/fmpy/remoting/win64/client_tcp.dll | ||
src/fmpy/remoting/win64/server_tcp.exe | ||
src/fmpy/remoting/win64/server_sm.exe | ||
src/fmpy/logging/win32/logging.dll | ||
src/fmpy/logging/win64/logging.dll | ||
src/fmpy/sundials/x86_64-windows/sundials_cvode.dll | ||
src/fmpy/sundials/x86_64-windows/sundials_nvecserial.dll | ||
src/fmpy/sundials/x86_64-windows/sundials_sunlinsoldense.dll | ||
src/fmpy/sundials/x86_64-windows/sundials_sunmatrixdense.dll | ||
if-no-files-found: error | ||
build-wheel: | ||
runs-on: ubuntu-22.04 | ||
needs: [ build-binaries ] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: astral-sh/setup-uv@v4 | ||
- uses: actions/download-artifact@v4 | ||
path: src/fmpy | ||
Check failure on line 98 in .github/workflows/build.yml GitHub Actions / Build FMPyInvalid workflow file
|
||
with: | ||
name: linux | ||
- uses: actions/download-artifact@v4 | ||
path: src/fmpy | ||
with: | ||
name: darwin | ||
- uses: actions/download-artifact@v4 | ||
path: src/fmpy | ||
with: | ||
name: windows | ||
- run: uv build --wheel | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: dist | ||
path: dist | ||
if-no-files-found: error | ||
# run-tests: | ||
# strategy: | ||
# matrix: | ||
# include: | ||
# - name: windows | ||
# image: windows-2022 | ||
# - name: linux | ||
# image: ubuntu-22.04 | ||
# - name: darwin | ||
# image: macos-13 | ||
# runs-on: ${{ matrix.image }} | ||
# needs: [ merge-wheels ] | ||
# steps: | ||
# - uses: actions/checkout@v4 | ||
# with: | ||
# submodules: 'true' | ||
# - uses: JesseTG/rm@b0586afffd89db69f7309bd44cc90209173fdbbe | ||
# with: | ||
# path: fmpy | ||
# - uses: actions/download-artifact@v4 | ||
# with: | ||
# name: merged | ||
# path: . | ||
# - run: ls | ||
# - uses: actions/setup-python@v5 | ||
# with: | ||
# python-version: '3.10' | ||
# - if: matrix.name == 'linux' || matrix.name == 'darwin' | ||
# run: | | ||
# for f in FMPy-*.whl; do | ||
# python -m pip install $f[complete] | ||
# done | ||
# - if: matrix.name == 'windows' | ||
# run: | | ||
# $files = Get-ChildItem "FMPy-*.whl" | ||
# foreach ($f in $files) { | ||
# $name = $f.FullName + "[complete]" | ||
# python -m pip install $name | ||
# } | ||
# - run: python -m pip install pytest | ||
# - run: pytest tests |