Skip to content

Add testing and packaging files #17

Add testing and packaging files

Add testing and packaging files #17

Workflow file for this run

name: test
on:
workflow_dispatch:
pull_request:
push:
branches: [next, qa, main]
tags: ['v*']
jobs:
linux:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
channels: conda-forge,defaults
use-mamba: true
environment-file: environment.yml
fetch-depth: 0
fetch-tags: true
lfs: true
submodules: recursive
- name: install additional dependencies
run: |
echo "installing additional dependencies if cannot be installed from conda"
- name: test preparation
run: |
git fetch --tags
git tag -l
versioningit -w
mkdir .coverage.d
git lfs pull
git submodule update --init --recursive
- name: run unit tests
env:
COVERAGE_FILE: .coverage.d/unit
run: |
echo "running unit tests"
python -m pytest --cov=src --cov-report=xml --cov-report=term-missing tests/unit/
- name: run integration tests
env:
COVERAGE_FILE: .coverage.d/integration
run: |
echo "running integration tests"
python -m pytest --cov=src --cov-report=xml --cov-report=term-missing tests/integration/
- name: combine coverage reports
run: |
coverage combine .coverage.d/ --output=.coverage.d/merged
- name: upload coverage to codecov
uses: codecov/codecov-action@v5
if:
github.actor != 'dependabot[bot]'
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: build conda package
run: |
# test that the conda package builds
cd conda.recipe
echo "versioningit $(versioningit ../)"
# conda channels could have been defined in the conda-incubator, but you can copy/paste the lines
# below to build the conda package in your local machine
CHANNELS="--channel mantid/label/main --channel conda-forge"
VERSION=$(versioningit ../) conda mambabuild $CHANNELS --output-folder . .
conda verify noarch/drtsans*.tar.bz2