Skip to content

Added workflows to test Linux, Windows, and Mac builds. #7

Added workflows to test Linux, Windows, and Mac builds.

Added workflows to test Linux, Windows, and Mac builds. #7

Workflow file for this run

name: tests
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
tests:
name: '${{ matrix.os }}:python-${{ matrix.python-version }}'
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
fail-fast: false
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Python
id: setup_python
uses: actions/setup-python@v4
with:
activate-environment: vplanet
environment-file: environment.yml
python-version: ${{ matrix.python-version }}
- name: Install
id: install
if: steps.setup_python.outcome == 'success'
shell: bash -l {0}
run: |
python -m pip install -U pip
python -m pip install -e .
sudo apt install lcov
- name: Run tests and generate coverage
if: steps.install.outcome == 'success'
shell: bash -l {0}
run: |
make coverage
- name: Get unique id
id: unique-id
env:
STRATEGY_CONTEXT: ${{ toJson(strategy) }}
run: |
export JOB_ID=`echo $STRATEGY_CONTEXT | md5sum`
echo "::set-output name=id::$JOB_ID"
- name: Publish unit test results
uses: EnricoMi/publish-unit-test-result-action@v1
if: always()
with:
files: junit/test-*.xml
comment_mode: update last
- name: CodeCov
uses: codecov/[email protected]
with:
files: ./.coverage