Skip to content

Integration test

Integration test #5

Workflow file for this run

name: testing
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@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
channels: mantid/label/main,conda-forge,defaults
mamba-version: "*"
environment-file: environment.yml
cache-environment-key: ${{ runner.os }}-env-${{ hashFiles('**/environment.yml') }}
cache-downloads-key: ${{ runner.os }}-downloads-${{ hashFiles('**/environment.yml') }}
- name: install additional dependencies
run: |
echo "installing additional dependencies if cannot be installed from conda"
- name: run unit tests
run: |
echo "running unit tests"
python -m pytest -vv -m "not datarepo and not sns_mounted" --cov=src --cov-report=xml --cov-report=term-missing tests/
mv .coverage .coverage.unit
- name: run integration tests
run: |
echo "running integration tests"
git submodule update --init
python -m pytest -vv -m "datarepo" --cov=src --cov-report=xml --cov-report=term-missing tests/
mv .coverage .coverage.integration
- name: combine coverage reports
run: |
coverage combine # merge all .coverage.* files into .coverage
- name: upload coverage to codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: build conda package
run: |
# set up environment
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/usansred*.tar.bz2