Skip to content

Merge pull request #127 from ESSS/pre-commit-ci-update-config #573

Merge pull request #127 from ESSS/pre-commit-ci-update-config

Merge pull request #127 from ESSS/pre-commit-ci-update-config #573

Workflow file for this run

name: "Hookman - CI"
on:
push:
branches: [master, rb-*]
tags:
- v*
pull_request:
branches: [master]
schedule: [cron: 0 2 * * *]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9]
os: [ubuntu-latest, windows-latest]
include:
# non-matrix listed runs (python 3.6 is not supported with ubuntu-latest).
- python-version: 3.6
os: ubuntu-20.04
env: "py36"
- python-version: 3.6
os: windows-latest
env: "py36"
# "env" for matrix listed python runs.
- python-version: 3.7
env: "py37"
- python-version: 3.8
env: "py38"
- python-version: 3.9
env: "py39"
steps:
- uses: actions/checkout@v2
- uses: seanmiddleditch/gha-setup-ninja@master
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
env:
PYBIND11_GLOBAL_SDIST: 1
run: |
python -m pip install --upgrade pip
pip install tox codecov
# CMake configuration files missing for PyPi install
# https://github.com/pybind/pybind11/issues/1628#issuecomment-697346676
python -m pip install https://github.com/pybind/pybind11/archive/master.zip
- name: Run tests
run: |
tox -e ${{matrix.env}}
codecov -t ${{secrets.CODECOV_TOKEN}} -X gcov -f coverage.xml
deploy:
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'ESSS/hookman'
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.7"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade wheel setuptools tox
- name: Build package
run: |
python setup.py sdist bdist_wheel
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.pypi_token }}