Skip to content

fix: add back MW fallback #74

fix: add back MW fallback

fix: add back MW fallback #74

Workflow file for this run

name: CI-CD
on:
push:
branches:
- master
- devel
tags:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+rc[0-9]+'
paths-ignore:
- "COPYRIGHT"
- "LICENSE-*"
- "**.md"
- "**.txt"
pull_request:
branches:
- master
- devel
paths-ignore:
- "COPYRIGHT"
- "LICENSE-*"
- "**.md"
- "**.txt"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.7, 3.8, 3.9]
exclude:
# Lacking swiglpk wheels for this combination.
- os: macos-latest
python-version: '3.9'
# FVA gets stuck for some reason for this combination
- os: macos-latest
python-version: '3.8'
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install .
python -m pip install pytfa "pytest>=6.2"
- name: Functional test
run: python -m pytest
# TODO: setup codecov
# - name: Report coverage
# run: codecov
# uses: codecov/codecov-action@v1
# with:
# fail_ci_if_error: true
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install style deps
run: pip install flake8 flake8-docstrings flake8-bugbear black isort
- name: flake8 (check code style)
run: flake8 geckopy tests
- name: black (check code format)
run: black --check --diff geckopy tests
- name: isort (check import sorting)
run: isort --check-only --diff geckopy tests
release:
needs: [test, style]
if: startsWith(github.ref, 'refs/tags')
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Get tag
id: tag
run: echo "::set-output name=version::${GITHUB_REF#refs/tags/}"
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install twine
- name: Build package
run: python setup.py sdist bdist_wheel
- name: Check the package
run: twine check dist/*
- name: Publish to PyPI
# TODO: set these secrets
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run:
twine upload --skip-existing --non-interactive dist/*
- name: Create GitHub release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: >
Please see
https://github.com/${{ github.repository }}/blob/${{ steps.tag.outputs.version }}/CHANGELOG.rst
for the full release notes.
draft: false
prerelease: false