-
Notifications
You must be signed in to change notification settings - Fork 30
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
Add CI github actions workflow #1034
Open
sethaxen
wants to merge
42
commits into
develop
Choose a base branch
from
githubactionsci
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+51
−18
Open
Changes from 10 commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
bebdd49
Add CI github actions workflow
sethaxen 3b7544f
Correctly reference environmental variable
sethaxen a846c35
Fix boost package name
sethaxen 46f9023
Use same form of setup
sethaxen 10c5ec0
Remove regex arg to ctest
sethaxen c5a84f0
Make ctest output on failure
sethaxen 0a3dfe1
Install more dependencies
sethaxen f102355
Make build directory in imp directory
sethaxen d2b07cc
Replace ctest with nosetests
sethaxen b18174a
Don't run codecov action verbosely
sethaxen 37f4121
Fix package name
sethaxen e8272d6
Execute from build directory
sethaxen 15ba0e7
Add nose as dependency
sethaxen 28d19b9
Change comment indentation
sethaxen c875f3a
Create test directory
sethaxen 1b1a065
Don't install both Python 2 and 3
sethaxen 53c0161
Remove extraneous python install step
sethaxen c3d942e
Install codecov
sethaxen 232dfcd
Fix check for Python 2 env
benmwebb cefd848
Set correct Python 3 version
benmwebb 844eb15
Use correct pip binary
benmwebb 0554bd9
Use correct nosetests
benmwebb c2d0e0c
Help CMake to find CGAL
benmwebb 000ee17
Run just IMP.kernel tests for now
benmwebb ca909b7
Add missing "then" to if statement
benmwebb 6569ce8
Merge branch 'develop' into githubactionsci
sethaxen b101763
Add coverage module
sethaxen 3cd828b
Remove duplicated Python package installation
sethaxen d4e40a6
Compile only a few modules for faster iteration
sethaxen 0b376a0
Only test kernel for now
sethaxen c677c62
Use pytest instead of nose
benmwebb 4334497
There are no "medium" tests in IMP.kernel
benmwebb ef05987
Run each test in a separate process
benmwebb 02c3de0
Many kernel tests use IMP.core/algebra classes
benmwebb bbe1122
Don't cancel others if one build fails
benmwebb e4b18c1
Use older py.test binary
benmwebb a75a4af
Run test via unittest
benmwebb 6018f19
Install .deb packages for pytest, not pip
benmwebb 4039666
Need IMP.container to run some kernel tests
benmwebb ecc8e65
Fix pytest name
benmwebb 1db30a4
Increase fetch-depth
sethaxen 8ffe8da
Explicitly output xml coverage report
sethaxen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
name: CI | ||
on: | ||
push: | ||
branches: [develop] | ||
pull_request: | ||
|
||
env: | ||
CXXFLAGS: "-fprofile-arcs -ftest-coverage" | ||
|
||
jobs: | ||
test: | ||
name: "Python ${{ matrix.python-version }} / ${{ matrix.os }}" | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
python-version: ["2.7", "3.8"] | ||
os: [ubuntu-latest] | ||
compiler: [gcc] | ||
env: | ||
CC: ${{ matrix.compiler }} | ||
PY2: ${{ startsWith(matrix.python-version, 2) && 'on' || 'off' }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update -qq | ||
sudo apt-get install -qq libboost-all-dev swig libhdf5-serial-dev libeigen3-dev \ | ||
python-numpy python3-biopython python3-numpy cmake libcgal-dev libcgal-qt5-dev \ | ||
libfftw3-dev libopencv-dev libgsl0-dev python2-dev python3-dev libann-dev \ | ||
libprotobuf-dev protobuf-compiler python-protobuf python3-protobuf \ | ||
libopenmpi-dev | ||
- name: Set up python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
architecture: 'x64' | ||
- name: Set up git | ||
run: ./setup_git.py | ||
- name: Build IMP | ||
run: | | ||
mkdir build | ||
cd build | ||
cmake .. -DUSE_PYTHON2=${{ env.PY2 }} -DCMAKE_CXX_FLAGS="${{ env.CXXFLAGS }}" | ||
make -k -j 2 | ||
- name: Run tests | ||
run: ./setup_environment.sh ../test/nosetests --with-coverage --cover-branches -e 'probabilistic' ../test/test_*.py ../test/medium_test_*.py test/*/*.py > /dev/null | ||
- name: Upload coverage to Codecov | ||
sethaxen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
uses: codecov/codecov-action@v1 | ||
with: | ||
fail_ci_if_error: false |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-e 'probabilistic'
says to ignore all tests that matchprobabilistic
, right? Why is this included?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There used to be a utility method in
IMP.test
calledprobabilistic_test
. nose would run it as a test, but it's not a test and so would always fail; see #996. That workaround shouldn't be needed any more though since I renamed the method toprobabilistic_check
.The other workaround is to symlink the nosetests binary into the test directory and run it there, otherwise methods like
get_input_file_name
don't work. But I think I fixed that as part of #996 too.