Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: CI with GitHub actions #451

Merged

Conversation

Moritz-Alexander-Kern
Copy link
Member

@Moritz-Alexander-Kern Moritz-Alexander-Kern commented Feb 11, 2022

Continuous Integration with GitHub Actions (Travis ⟶ GitHub actions)

In this workflow several runners are setup to run tests on elephant.

Many ideas from the old Travis CI workflow have been recycled to create the following runners:

1. build-and-test-pip

  • OS: Ubuntu
  • Python: [3.6, 3.7, 3.8, 3.9]
  • pip install requirements, (requirements-tests.txt, requirements.txt, requirements-extras.txt)
  • pip install -e .
  • test with pytest

Runners:

  • build-and-test-pip (3.6, ubuntu-latest)
  • build-and-test-pip (3.7, ubuntu-latest)
  • build-and-test-pip (3.8, ubuntu-latest)
  • build-and-test-pip (3.9, ubuntu-latest)

2. test-conda

  • OS: Ubuntu
  • Python: [3.9]
  • install conda enviroment using enviroment-tests.yml
  • pytest

Runners:

  • test-conda (ubuntu-latest)

3. test-pip

  • OS: Windows
  • Python: [3.8]
  • pip install requirements (requirements-tests.txt, requirements.txt, requirements-extras.txt)
  • pip install -e .
  • test with pytest

Runners:

  • test-pip (3.8, windows-latest)

4. test-pip-MPI:

  • OS: Ubuntu
  • Python: [3.6]
  • pip install requirements (requirements-tests.txt, requirements.txt, requirements-extras.txt)
  • pip install -e .
  • test with pytest (for MPI use: mpiexec -n 1 python -m mpi4py -m pytest --cov_elephant)

Runners:

  • test-pip-MPI (3.6, ubuntu-latest)

5. docs:

  • OS: Ubuntu, Python: [3.9]
  • install openmpi
  • pip install requirements (requirements-docs.txt, requirements-tutorials.txt)
  • install conda enviroment using enviroment-docs.yml
  • install pandoc with conda
  • make html

Runners:

  • docs (ubuntu-latest)

  • change link to status badge in README.md (current: INM-6/elephant)

  • restructure environment.yml, separate environment files for tests and building docs

  • add specific triggers to run different tests, i.e. do not run all tests on "PR open"

  • remove Travis (.travis.yml and requirements/environment.yml)

@Moritz-Alexander-Kern Moritz-Alexander-Kern mentioned this pull request Feb 11, 2022
3 tasks
@Moritz-Alexander-Kern Moritz-Alexander-Kern added this to the v0.11.0 milestone Feb 11, 2022
@coveralls
Copy link
Collaborator

coveralls commented Feb 11, 2022

Coverage Status

Coverage remained the same at 88.615% when pulling 21f6d77 on INM-6:feature/github_actions_CI into d0d3920 on NeuralEnsemble:master.

@Moritz-Alexander-Kern Moritz-Alexander-Kern added the enhancement Editing an existing module, improving something label Feb 11, 2022
@Moritz-Alexander-Kern Moritz-Alexander-Kern marked this pull request as ready for review February 23, 2022 11:11
@Moritz-Alexander-Kern Moritz-Alexander-Kern merged commit 67dd3f3 into NeuralEnsemble:master Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Editing an existing module, improving something
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants