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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/.idea
22
/build
3+
/docs
34
.DS_Store

.travis.yml

Lines changed: 43 additions & 0 deletions
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

Lines changed: 22 additions & 0 deletions
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

Lines changed: 5 additions & 1 deletion
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy