0.3.2 Model Exchange with Events #31
Workflow file for this run
This file contains hidden or 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: Upload Python Package | |
| on: | |
| release: | |
| types: [published] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, windows-2022] | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Setup Python 3.x | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: '3.x' | |
| architecture: 'x64' | |
| - name: Compile wrapper on Windows | |
| if: startsWith(runner.os, 'Windows') | |
| run: | | |
| mkdir tmp-build | |
| cd tmp-build | |
| cmake $Env:github_workspace/pythonfmu3/pythonfmu-export -DCMAKE_BUILD_TYPE=Release -A x64 | |
| cmake --build . --config Release | |
| cd .. | |
| - name: Compile wrapper on Linux / macOS | |
| if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') | |
| run: | | |
| docker build -f DockerFile -t pythonfmu3-wrapper --target build . | |
| - name: Create container and copy out artifact | |
| if : startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') | |
| run: | | |
| docker create --name extract pythonfmu3-wrapper | |
| docker cp extract:/io/pythonfmu3/resources $GITHUB_WORKSPACE/pythonfmu3 | |
| docker rm extract | |
| - name: Archive wrapper library | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: lib-wrapper-${{ matrix.os }} | |
| path: pythonfmu3/resources | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: '3.x' | |
| - name: Download wrappers | |
| uses: actions/download-artifact@v4 | |
| with: | |
| pattern: lib-wrapper-* | |
| path: pythonfmu3/resources | |
| merge-multiple: true | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install setuptools wheel twine | |
| - name: Build and publish | |
| env: | |
| TWINE_USERNAME: __token__ | |
| TWINE_PASSWORD: ${{ secrets.PYPI_PYTHONFMU_API_TOKEN }} | |
| run: | | |
| python setup.py sdist bdist_wheel | |
| twine upload dist/* |