-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
wercker.yml
139 lines (126 loc) · 4.33 KB
/
wercker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
box:
id: python
username: srzzumix
password: ${WERCKER_DOCKERHUB_PASSWORD}
build:
steps:
- pip-install: &pip-install
requirements_file: ""
packages_list: "requests"
# # This pip-install clears the local wheel cache
# - pip-install:
# clean_wheel_dir: true
- script:
name: echo python information
code: |
echo "python version $(python --version) running"
echo "pip version $(pip --version) running"
- script:
name: listup compiler
code: |
cd tools/wandbox
python iuwandbox.py --list-compiler --verbose
cmake-check:
steps:
- script:
name: CMake tests check
code: |
cd test
make cmake-sync-check
gtest-compat:
box:
id: alpine
username: srzzumix
password: ${WERCKER_DOCKERHUB_PASSWORD}
docker: true
steps:
- script:
name: Install docker
code: apk --no-cache add docker
- script:
name: Login DockerHub
code: |
echo ${WERCKER_DOCKERHUB_PASSWORD} | docker login -u srzzumix --password-stdin
- script:
name: Launch docker container
# https://devcenter.wercker.com/development/pipelines/direct-docker-access/#volumes-and-mounts
code: |
docker run --rm -d -i --name iutest-work -w /iutest ${DOCKER_IMAGE} bash
docker cp . iutest-work:/iutest
- script:
name: Use GTest
code: |
docker exec iutest-work \
make -C test USE_GTEST=1 \
GTEST_EXPECT_VER=${GTEST_EXPECT_VERSION} GTEST_EXPECT_LATEST=${GTEST_EXPECT_LATEST} clean ${MAKE_TARGET}
- script:
name: Use GMock
code: |
docker exec iutest-work \
make -C test USE_GTEST=1 USE_GMOCK=1 \
GTEST_EXPECT_VER=${GTEST_EXPECT_VERSION} GTEST_EXPECT_LATEST=${GTEST_EXPECT_LATEST} clean ${MAKE_TARGET}
- script:
name: Clean docker container
code: |
docker stop iutest-work
docker logout
wandbox:
steps:
- pip-install: *pip-install
- script: &make-fused
name: make fused
code: |
make -C tools/fused
- script: &setup
name: setup
code: |
export PYTHONDONTWRITEBYTECODE=1
export IUWANDBOX_COMMANDLINE_OPTION="-f"-Werror" --encoding utf-8-sig --expand-include --verbose --check-config --retry-wait 180 --iutest-use-main"
if [ -z "${IUWANDBOX_TARGET_SRC+x}" ]; then export IUWANDBOX_TARGET_SRC="../../test/syntax_tests.cpp"; fi
- script: &experimental
name: experimental setup
code: |
export IUWANDBOX_EXPERIMENTAL_OPTION="--iutest-use-wandbox-min"
- script: &cpp
name: c++
code: |
cd tools/wandbox
for compiler in ${IUWANDBOX_COMPILER}
do
echo ./iuwandbox.py ${IUWANDBOX_EXPERIMENTAL_OPTION} ${IUWANDBOX_COMMANDLINE_OPTION} -c $compiler --std "c++${IUWANDBOX_CPPVER}" ${IUWANDBOX_TARGET_SRC} ${IUWANDBOX_ADD_OPTION} ${IUWANDBOX_STDC_ADD_OPTION};
python ./iuwandbox.py ${IUWANDBOX_EXPERIMENTAL_OPTION} ${IUWANDBOX_COMMANDLINE_OPTION} -c $compiler --std "c++${IUWANDBOX_CPPVER}" ${IUWANDBOX_TARGET_SRC} ${IUWANDBOX_ADD_OPTION} ${IUWANDBOX_STDC_ADD_OPTION};
done
# - script: &gnucpp
# name: gnuc++
# code: |
# cd tools/wandbox
# for compiler in ${IUWANDBOX_COMPILER}
# do
# python ./iuwandbox.py ${IUWANDBOX_EXPERIMENTAL_OPTION} ${IUWANDBOX_COMMANDLINE_OPTION} -c $compiler --std "gnu++${IUWANDBOX_CPPVER}" ${IUWANDBOX_ADD_OPTION} ${IUWANDBOX_STDC_ADD_OPTION};
# done
wandbox-no-experimental:
steps:
- pip-install: *pip-install
- script: *make-fused
- script: *setup
- script: *cpp
# - script: *gnucpp
wandbox-all-compiler:
steps:
- pip-install: *pip-install
- script: *make-fused
- script: *setup
- script: *experimental
- script:
name: all-compiler
code: |
cd tools/wandbox
for compiler in $(shell python iuwandbox.py --list-compiler)
do
python ./iuwandbox.py ${IUWANDBOX_EXPERIMENTAL_OPTION} ${IUWANDBOX_COMMANDLINE_OPTION} -c $compiler ${IUWANDBOX_ADD_OPTION} ${IUWANDBOX_STDC_ADD_OPTION};
done
nothing:
steps:
- script:
name: echo
code: echo "nothing to do"