-
Notifications
You must be signed in to change notification settings - Fork 14
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 travis and dockerfile #34
base: master
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
language: cpp | ||
dist: trusty | ||
os: linux | ||
cache: apt | ||
branches: | ||
only: | ||
- master | ||
matrix: | ||
include: | ||
- env: BUILD_TYPE=RelWithDebInfo | ||
script: | ||
- docker build -t verify-c-common -f verify-c-common.Dockerfile . | ||
- docker run -t verify-c-common /bin/bash -c "cd build && ninja test" | ||
services: | ||
- docker | ||
|
||
install: true | ||
|
||
notifications: | ||
slack: seahornteam:NAUqZmZHFFviPH4ktQbJXgKu | ||
email: | ||
recipients: | ||
- [email protected] | ||
on_success: always | ||
on_failure: always |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
|
||
FROM seahorn/seahorn-llvm10:nightly | ||
|
||
ENV SEAHORN=/home/usea/seahorn/bin/sea PATH="$PATH:/home/usea/seahorn/bin:/home/usea/bin" | ||
|
||
## install required pacakges | ||
USER root | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Add above lines here to update cmake to the latest one |
||
## clone verify-c-common repository | ||
USER usea | ||
WORKDIR /home/usea | ||
RUN git clone https://github.com/yvizel/verify-c-common.git | ||
|
||
## clone trusty repository (takes a long time) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. change comment |
||
WORKDIR /home/usea/verify-c-common | ||
RUN git clone https://github.com/awslabs/aws-c-common.git | ||
|
||
WORKDIR /home/usea/verify-c-common/aws-c-common | ||
RUN mkdir build && cd build && cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. change cmake to
|
||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. need to build
|
||
WORKDIR /home/usea/verify-c-common | ||
RUN ln -sf aws-c-common/build/compile_commands.json . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove above There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. are you referring to line 19 or 22? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. line 22 |
||
|
||
RUN mkdir build && cd build && cmake -DSEA_LINK=llvm-link-10 -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -DSEAHORN_ROOT=/home/usea/seahorn ../ -GNinja && ninja | ||
|
||
## set default user and wait for someone to login and start running verification tasks | ||
USER usea |
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.
once everything is working, (but maybe even now?), need to do runs with different options.
Currently, we have the following combinations:
Some of these might time out, so we will need to exclude tests that time out. This can be done using
ctest
command and its flags.As this gets complicated, it is best to package this in a script and then call the script from the docker container.
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.
to do this, would I just add ctest --cex (or whatever flag) in the travis file or would I need to change the cmake instructions in the dockerfile?