Skip to content

Commit c0ac7f8

Browse files
authored
Add tests and set up Travis CI (#1)
* Add tests and set up Travis CI * Add Doxygen * Remove nlohmann/json from prerequisites * Fix usage in README.md
1 parent d3dece8 commit c0ac7f8

File tree

9 files changed

+2656
-14
lines changed

9 files changed

+2656
-14
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/.idea
22
/build
3+
/docs
34
.DS_Store

.travis.yml

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
language: cpp
2+
compiler:
3+
- gcc
4+
addons:
5+
apt:
6+
packages:
7+
- doxygen
8+
before_script:
9+
- mkdir build
10+
- cd build
11+
- cmake ..
12+
script:
13+
- make
14+
- make test
15+
- cd ..
16+
- doxygen Doxyfile
17+
deploy:
18+
# Publish Doxygen to GitHub Pages
19+
- provider: pages
20+
skip_cleanup: true
21+
github_token: $GITHUB_ACCESS_TOKEN
22+
local_dir: docs/html
23+
keep_history: true
24+
on:
25+
tags: true
26+
27+
# Create a GitHub release
28+
- provider: releases
29+
api_key: $GITHUB_ACCESS_TOKEN
30+
on:
31+
tags: true
32+
33+
# Trigger Travis CI to deploy `extractor.cpp`
34+
- provider: script
35+
script: .travis/extractor.sh $TRAVIS_ACCESS_TOKEN
36+
on:
37+
tags: true
38+
env:
39+
global:
40+
# GITHUB_ACCESS_TOKEN
41+
- secure: QhcdUIQkleuwpAH8N85I1OcKZIXY0VLQCoE5hXu+SMBKNKXK8atefgf0AyYJU0JRCen8jbq52XWqxacaE0Bv0vHhE5CiIHWK/Twkpe2bQrjV3wYnJ/+nHnzTCOw0AQzZdT9skeIrkNdnVdfJXaTaRkHFnqYaINfh+wr/SC2QOerOjdDda/DqyIHypO648KKYgTBuQQ5nXDSLMYrUCF4Siax+af4rc2C2C2ZUWC8G4q+bUlTRDUp/EKDiq5TVfV1KCbiJzO4mjiaWy97eRDNMnFrdh8cFZxazvYWWyisiTcaOGUz78PB25x0Is45axncScBhs8qSY6mQIxbb8KI5X/UxXVSF/p0sSnaqR0TYy8zgCIXU+HXaUr7MoyMBje2DGGYhJs5CvxdOcQHBEaazIbUucM4nGBm15uX9fxzvM1SWv6C+csNjkJRNd3G3/nt3egCwI4SNAz98Ei2UW8TXXdlXtEM4QiH/AGWxHxgZo6sOIZi6uREHE1OnZygS59H7bIdditRlNBDxAtBiNVDV/vK15KrMvO1VhG8XoF/Qz6VdySGfmVWg3x9A4F2UwlLXSbGWym526n9caPS4FykTuh9GbZXvATy4hweN9+VtGeD+K4ZaLjkfaCCpG0BnnHH91k4zIXALpWUL5tVNHMutiuouSExgBrSHIMsuXmNt2Zzc=
42+
# TRAVIS_ACCESS_TOKEN
43+
- secure: As4J8URDuFqgkto2gbCUYzwPFjActoPt0kUP252DYO7MYlTNyZCRPyGjmcGqTgKYj8pc2gOpd2kJ93Vvgdosy/dtxFmqf7RrLyQgCjpPqokWWrPPImEVLGQ0cHmjDesi67zxjefafo+1smF9G6Pt25+rlybLVFqBsl03FlwJ67+44okVPE80NKHJAbZ4LQeiZcBhwBqUQea2JFulQKK7l+PmgN2BBGIbE6DTmVU+XuR8fWgBdNBDqjCnO7Q/LH5ary4+3EA1UsuosWs+qqtLuixqucbSKIXtyMWbs8F8T15iY04EGlfnAIZ8LVzmFKeYiEVQw6kgxkO2zqFSRdcNlyaOWHBUAbXNSsO5Otn02vMuKp43ILCJ3chvFVseu7z//78eYi/aGJgOITIuILmXMzvma1pyRpWVrCBO3+oOtrA5/G8QoHegb7FFt0TYRZHy692wnZ2UIEOlxroEzKIErpenYjbPSnfii7cQPiE2aK2spLwG5ehGNxGkMKxhTIF8V+pYc1zlHIuvKAmgDuv6+AxpHPUSWjg+bfQnHhruix7FLPNNZbxCNB0R+YG1+u+cfaJtWk8BtF5FlFpIcjk8oJkkTKAmcG9Oz5uEUWSt4vrdz8PtjuPozqAbSVJt5gOBIK2OryJD1zA9oWEslHHrzgvQKlKOGphfwzU5zXjYN68=

.travis/extractor.sh

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
3+
TRAVIS_ACCESS_TOKEN=$1
4+
GITHUB_USER="algorithm-visualizer"
5+
GITHUB_REPO="extractor.cpp"
6+
BODY="{
7+
\"request\": {
8+
\"branch\": \"master\"
9+
}
10+
}"
11+
12+
STATUS_CODE=$(curl -s -o /dev/stderr -w "%{http_code}" -X POST \
13+
-H "Content-Type: application/json" \
14+
-H "Accept: application/json" \
15+
-H "Travis-API-Version: 3" \
16+
-H "Authorization: token ${TRAVIS_ACCESS_TOKEN}" \
17+
-d "${BODY}" \
18+
"https://api.travis-ci.com/repo/${GITHUB_USER}%2F${GITHUB_REPO}/requests")
19+
20+
if [[ ${STATUS_CODE} != 2* ]]; then
21+
exit 1
22+
fi

CMakeLists.txt

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
cmake_minimum_required(VERSION 3.2)
1+
cmake_minimum_required(VERSION 3.9)
22

33
project(algorithm-visualizer VERSION 2.3.5)
44

55
set(CMAKE_CXX_STANDARD 11)
66

7+
execute_process(
8+
COMMAND curl --create-dirs -o ${CMAKE_SOURCE_DIR}/include/nlohmann/json.hpp -L "https://github.com/nlohmann/json/releases/download/v3.6.1/json.hpp"
9+
)
710
include_directories(include)
811
install(DIRECTORY include/
912
DESTINATION include
1013
FILES_MATCHING PATTERN "*.h*")
1114

15+
enable_testing()
1216
add_subdirectory(test)

0 commit comments

Comments
 (0)