image: python:latest stages: - test # prepare set up of latest python image to run style checks .prepare_style: &prepare_style - cat /etc/issue - python3 -V - which python3 - python3 -m venv ../venv - source ../venv/bin/activate - which python3 - pwd - ls -l - pip install -U pip - pip --version - pip install .[dev] - pytest --version - cat /etc/issue # prepare set up of Debian system to run py.test .prepare_debian: &prepare_debian - echo "Execute this command before any 'script:' commands." - cat /etc/issue - pwd - ls -l - echo "Install Python3" - apt-get update - apt-get install -y python3 python3-venv - python3 -m venv --help - python3 -m venv venv - source venv/bin/activate - which python3 - python3 --version - echo "Install Python dependencies for running the tests" - pip install -U pip - pip --version - pip install .[dev] - echo "Diagnostics - which versions are we using" - python3 --version - pytest --version - echo "Install additional packages we need to run spack-setup.sh" - apt-get install -y git rsync - echo "Install additional packages we need to run spack" # Taken from https://github.com/fangohr/oommf-in-spack/blob/main/Dockerfile - apt-get install -y --no-install-recommends autoconf build-essential ca-certificates coreutils curl environment-modules file gfortran git openssh-server unzip - export MPSD_MICROARCH=$(archspec cpu) - echo "Setting MPSD_MICROARCH variable to $MPSD_MICROARCH" - echo "Which version of Debian are we running?" - cat /etc/issue style: stage: test image: python:latest script: - *prepare_style - pre-commit run --all-files test-bullseye: stage: test image: debian:bullseye-slim script: - *prepare_debian - pytest -v -l test-bookworm: stage: test image: debian:bookworm-slim script: - *prepare_debian - pytest -v -l