Update python.yml #65
Workflow file for this run
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 | |
on: [push] | |
jobs: | |
static-analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- run: python -m pip install flake8 | |
- run: flake8 | |
build-tests: | |
needs: static-analysis | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 2 | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
python-version: [3.9, 3.10, 3.11, 3.12] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install PyYAML | |
run: python -m pip install pyyaml | |
- name: Install Contest | |
run: python setup.py install | |
- name: Build Tests | |
run: | | |
cd examples | |
cmake . | |
cmake --build . --target install | |
- name: Tests | |
run: | | |
contest examples/many_cases/contest_recipe.yaml --verbose | |
contest examples/native_console_app/contest_recipe.yaml --verbose | |
contest examples/output_file/contest_recipe.yaml --verbose | |
contest examples/python_console_app/contest_recipe.yaml --verbose | |
contest examples/resources/contest_recipe.yaml --verbose | |
contest examples/setup_commands/contest_recipe.yaml --verbose | |
publish: | |
needs: build-tests | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Build Distribution | |
run: | | |
pip install wheel | |
python setup.py sdist bdist_wheel | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.sneaky_contest }} |