fix multiple run defs
[awesomized/libmemcached] / .github / workflows / cmake-build-ci.yml
1 # Generated file; do not edit!
2 name: cmake-build-ci
3 on:
4 push:
5 paths-ignore:
6 - "docs/**"
7 branches-ignore:
8 - gh-pages
9 - v1.x
10 pull_request:
11 branches:
12 - master
13 - v1.x
14 env:
15 # defaults
16 INSTALL_MEMCACHED: memcached
17 CMAKE_CONFIG_TYPE: Debug
18 BUILD_TESTING: "ON"
19 ENABLE_SASL: "ON"
20 ENABLE_HASH_HSIEH: "ON"
21 ENABLE_DTRACE: "ON"
22 VERBOSE: "ON"
23 OS_VND: Linux #
24 OS_VER: ubuntu-20.04 #
25 CC_VND: gnu #
26 CC_VER: cur #
27
28 jobs:
29 # release builds
30 ci-rel:
31 strategy:
32 matrix:
33 os: [ubuntu-20.04, ubuntu-18.04]
34 compiler_vendor: [gnu, clang]
35 compiler_version: [new, cur, old]
36 runs-on: ${{ matrix.os }}
37 env:
38 CMAKE_CONFIG_TYPE: Release
39 OS_VND: Linux
40 OS_VER: ${{ matrix.os }}
41 CC_VND: ${{ matrix.compiler_vendor }}
42 CC_VER: ${{ matrix.compiler_version }}
43 steps:
44 - uses: actions/checkout@v2
45 - name: Prepare environment (for new gnu on ubuntu-20.04)
46 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
47 run: |
48 echo CC=gcc-10 >> ${GITHUB_ENV}
49 echo CXX=g++-10 >> ${GITHUB_ENV}
50 echo INSTALL_CC='gcc-10' >> ${GITHUB_ENV}
51 echo INSTALL_CXX='g++-10' >> ${GITHUB_ENV}
52 - name: Prepare environment (for cur gnu on ubuntu-20.04)
53 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
54 run: |
55 echo CC=gcc-9 >> ${GITHUB_ENV}
56 echo CXX=g++-9 >> ${GITHUB_ENV}
57 - name: Prepare environment (for old gnu on ubuntu-20.04)
58 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
59 run: |
60 echo CC=gcc-8 >> ${GITHUB_ENV}
61 echo CXX=g++-8 >> ${GITHUB_ENV}
62 - name: Prepare environment (for new clang on ubuntu-20.04)
63 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
64 run: |
65 echo CC=clang-10 >> ${GITHUB_ENV}
66 echo CXX=clang++-10 >> ${GITHUB_ENV}
67 - name: Prepare environment (for cur clang on ubuntu-20.04)
68 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
69 run: |
70 echo CC=clang-9 >> ${GITHUB_ENV}
71 echo CXX=clang++-9 >> ${GITHUB_ENV}
72 - name: Prepare environment (for old clang on ubuntu-20.04)
73 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
74 run: |
75 echo CC=clang-8 >> ${GITHUB_ENV}
76 echo CXX=clang++-8 >> ${GITHUB_ENV}
77 - name: Prepare environment (for new gnu on ubuntu-18.04)
78 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
79 run: |
80 echo CC=gcc-9 >> ${GITHUB_ENV}
81 echo CXX=g++-9 >> ${GITHUB_ENV}
82 - name: Prepare environment (for cur gnu on ubuntu-18.04)
83 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
84 run: |
85 echo CC=gcc-8 >> ${GITHUB_ENV}
86 echo CXX=g++-8 >> ${GITHUB_ENV}
87 - name: Prepare environment (for old gnu on ubuntu-18.04)
88 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
89 run: |
90 echo CC=gcc-7 >> ${GITHUB_ENV}
91 echo CXX=g++-7 >> ${GITHUB_ENV}
92 - name: Prepare environment (for new clang on ubuntu-18.04)
93 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
94 run: |
95 echo CC=clang-9 >> ${GITHUB_ENV}
96 echo CXX=clang++-9 >> ${GITHUB_ENV}
97 - name: Prepare environment (for cur clang on ubuntu-18.04)
98 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
99 run: |
100 echo CC=clang-8 >> ${GITHUB_ENV}
101 echo CXX=clang++-8 >> ${GITHUB_ENV}
102 - name: Prepare environment (for old clang on ubuntu-18.04)
103 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
104 run: |
105 echo CC=clang-6.0 >> ${GITHUB_ENV}
106 echo CXX=clang++-6.0 >> ${GITHUB_ENV}
107 - name: Install dependencies
108 if: runner.os == 'Linux'
109 run: sudo apt-get install libevent-dev libsasl-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX}
110 - name: Generate build tree (${CMAKE_CONFIG_TYPE})
111 run: cmake -S . -B build
112 - name: Build all with ${CXX} ${CXXFLAGS}
113 run: make -C build -j2 all
114 - name: Test
115 run: make -C build -j2 test
116 - name: Install
117 run: make -C build -j2 install DESTDIR=.
118 - name: Failed tests log
119 if: ${{ failure() }}
120 run: cat Testing/Temporary/LastTest.log
121
122 # sanitizer build
123 ci-san:
124 runs-on: ubuntu-20.04 #
125 env:
126 ENABLE_SANITIZERS: "address;undefined"
127 steps:
128 - uses: actions/checkout@v2
129 - name: Prepare environment (for cur gnu on ubuntu-20.04)
130 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
131 run: |
132 echo CC=gcc-9 >> ${GITHUB_ENV}
133 echo CXX=g++-9 >> ${GITHUB_ENV}
134 - name: Install dependencies
135 if: runner.os == 'Linux'
136 run: sudo apt-get install libevent-dev libsasl-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX}
137 - name: Generate build tree (${CMAKE_CONFIG_TYPE})
138 run: cmake -S . -B build
139 - name: Build all with ${CXX} ${CXXFLAGS}
140 run: make -C build -j2 all
141 - name: Test
142 run: make -C build -j2 test
143 - name: Install
144 run: make -C build -j2 install DESTDIR=.
145 - name: Failed tests log
146 if: ${{ failure() }}
147 run: cat Testing/Temporary/LastTest.log
148
149 # coverage build
150 ci-cov:
151 runs-on: ubuntu-20.04 #
152 env:
153 CFLAGS: --coverage
154 CXXFLAGS: --coverage
155 steps:
156 - uses: actions/checkout@v2
157 - name: Prepare environment (for cur gnu on ubuntu-20.04)
158 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
159 run: |
160 echo CC=gcc-9 >> ${GITHUB_ENV}
161 echo CXX=g++-9 >> ${GITHUB_ENV}
162 - name: Install dependencies
163 if: runner.os == 'Linux'
164 run: sudo apt-get install libevent-dev libsasl-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX}
165 - name: Generate build tree (${CMAKE_CONFIG_TYPE})
166 run: cmake -S . -B build
167 - name: Build all with ${CXX} ${CXXFLAGS}
168 run: make -C build -j2 all
169 - name: Test
170 run: make -C build -j2 test
171 - name: Install
172 run: make -C build -j2 install DESTDIR=.
173 - name: Failed tests log
174 if: ${{ failure() }}
175 run: cat Testing/Temporary/LastTest.log
176 - uses: codecov/codecov-action@v1.0.13
177
178 # memcached new
179 ci-new:
180 runs-on: ubuntu-20.04 #
181 env:
182 INSTALL_MEMCACHED:
183 MEMCACHED_PREFIX: /tmp
184 MEMCACHED_BINARY: /tmp/bin/memcached
185 enable_sasl: yes
186 enable_sasl_pwdb: yes
187 enable_docs: no
188 enable_coverage: no
189 enable_dependency_tracking: no
190 steps:
191 - uses: actions/checkout@v2
192 - uses: actions/checkout@v2
193 with:
194 repository: memcached/memcached
195 ref: 1.6.7
196 - name: Build memcached
197 run: |
198 cd memcached
199 ./autogen.sh
200 ./configure CFLAGS="-O2 -pipe" --prefix=${MEMCACHED_PREFIX}
201 make -j2
202 make install
203 cd ..
204 - name: Prepare environment (for cur gnu on ubuntu-20.04)
205 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
206 run: |
207 echo CC=gcc-9 >> ${GITHUB_ENV}
208 echo CXX=g++-9 >> ${GITHUB_ENV}
209 - name: Install dependencies
210 if: runner.os == 'Linux'
211 run: sudo apt-get install libevent-dev libsasl-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX}
212 - name: Generate build tree (${CMAKE_CONFIG_TYPE})
213 run: cmake -S . -B build
214 - name: Build all with ${CXX} ${CXXFLAGS}
215 run: make -C build -j2 all
216 - name: Test
217 run: make -C build -j2 test
218 - name: Install
219 run: make -C build -j2 install DESTDIR=.
220 - name: Failed tests log
221 if: ${{ failure() }}
222 run: cat Testing/Temporary/LastTest.log
223