FIX: Git (#29) #111
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }} | |
cancel-in-progress: true | |
on: # yamllint disable-line rule:truthy | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
inputs: | |
tags: | |
description: 'MNE-Python version (e.g. v0.23.0 or main)' | |
required: false | |
default: 'main' | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set env vars | |
run: | | |
set -eo pipefail | |
if [[ "${{ github.event.inputs.tags }}" != "" ]]; then | |
echo "MNE_VERSION=${{ github.event.inputs.tags }}" >> $GITHUB_ENV | |
echo "DOCKER_TAG=${{ github.event.inputs.tags }}" >> $GITHUB_ENV | |
else | |
echo "MNE_VERSION=main" >> $GITHUB_ENV | |
echo "DOCKER_TAG=latest" >> $GITHUB_ENV | |
fi | |
echo "Got MNE_VERSION=${MNE_VERSION}" | |
echo "Got DOCKER_TAG=${DOCKER_TAG}" | |
- run: docker compose build base --build-arg mne_v="$MNE_VERSION" | |
- run: docker tag mnetools/mne-python ghcr.io/mne-tools/mne-python:${DOCKER_TAG} | |
- name: System info - base image | |
run: docker run mnetools/mne-python python -c "import mne; mne.sys_info()" | |
- name: Run base test | |
run: docker run -v `pwd`:/opt/app/examples mnetools/mne-python python /opt/app/examples/tests/base.py | |
- run: docker compose build jupyter | |
- run: docker tag mnetools/mne-python-jupyter ghcr.io/mne-tools/mne-python-jupyter:${DOCKER_TAG} | |
- name: System info - jupyter image | |
run: docker run mnetools/mne-python-jupyter ipython -c "import mne; mne.sys_info()" | |
- name: Run jupyter test | |
run: docker run -v `pwd`:/opt/app/examples mnetools/mne-python-jupyter ipython /opt/app/examples/tests/base.py | |
- run: docker compose build plot | |
- run: docker tag mnetools/mne-python-plot ghcr.io/mne-tools/mne-python-plot:${DOCKER_TAG} | |
- name: System info - plot image | |
run: docker run mnetools/mne-python-plot python -c "import mne; mne.sys_info()" | |
- name: Run plotting test | |
run: docker run -v `pwd`:/opt/app/examples mnetools/mne-python-plot python /opt/app/examples/tests/plot.py | |
- name: Push images to github | |
run: | | |
set -exo pipefail | |
docker push ghcr.io/mne-tools/mne-python:${DOCKER_TAG} | |
docker push ghcr.io/mne-tools/mne-python-jupyter:${DOCKER_TAG} | |
docker push ghcr.io/mne-tools/mne-python-plot:${DOCKER_TAG} | |
if: github.repository == 'mne-tools/mne-docker' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') |