@@ -16,55 +16,40 @@ jobs:
16
16
env :
17
17
GITHUB_TOKEN : ${{ secrets.TOKEN }}
18
18
19
- build-ubuntu :
19
+ build-linux :
20
20
runs-on : ubuntu-18.04
21
+ container : ${{ matrix.config.container }}
21
22
needs : format
22
23
strategy :
23
24
matrix :
24
- cc : [gcc, clang]
25
- cxx : [g++, clang++]
26
- config : [Debug, Release]
27
- exclude :
28
- - cc : gcc
29
- cxx : clang++
30
- - cc : clang
31
- cxx : g++
25
+ config :
26
+ - {container: "geodesolutions/ubuntu", cmake_args: "-DCMAKE_BUILD_TYPE=Debug", system: ubuntu}
27
+ - {container: "geodesolutions/ubuntu", cmake_args: "-DCMAKE_BUILD_TYPE=Release -DUSE_BENCHMARK=ON", system: ubuntu}
28
+ - {container: "geodesolutions/centos", cmake_args: "-DCMAKE_BUILD_TYPE=Debug", system: rhel}
29
+ - {container: "geodesolutions/centos", cmake_args: "-DCMAKE_BUILD_TYPE=Release", system: rhel}
30
+
32
31
33
32
steps :
34
33
- uses : actions/checkout@v1
35
34
- uses : Geode-solutions/actions/get-release@master
36
35
id : opengeode
37
36
with :
38
37
repository : OpenGeode
39
- file : ' -Linux .tar.gz'
38
+ file : ' -${{ matrix.config.system }} .tar.gz'
40
39
token : ${{ secrets.TOKEN }}
41
40
- name : Compile
42
41
run : |
43
42
mkdir -p build
44
43
cd build
45
- cmake -DCMAKE_BUILD_TYPE= ${{ matrix.config }} -DCMAKE_PREFIX_PATH:PATH=${{ steps.opengeode.outputs.path }} ..
44
+ cmake ${{ matrix.config.cmake_args }} -DCMAKE_PREFIX_PATH:PATH=${{ steps.opengeode.outputs.path }} ..
46
45
cmake --build . -- -j2
47
- env :
48
- CC : ${{ matrix.cc }}
49
- CXX : ${{ matrix.cxx }}
50
46
- name : Test
51
47
run : |
52
48
mkdir -p test
53
49
cd test
54
50
cmake -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_PREFIX_PATH:PATH="$GITHUB_WORKSPACE/build;$GITHUB_WORKSPACE/${{ steps.opengeode.outputs.path }}" ../tests
55
51
cmake --build . -- -j2
56
52
ctest --output-on-failure
57
- env :
58
- CC : ${{ matrix.cc }}
59
- CXX : ${{ matrix.cxx }}
60
- - name : Kcov
61
- run : curl -s https://raw.githubusercontent.com/Geode-solutions/actions/master/kcov.sh | bash -s -- ${GITHUB_WORKSPACE}/build/bin
62
- if : matrix.cc == 'gcc' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/master') && matrix.config == 'Debug'
63
- - uses : codecov/codecov-action@v1.0.2
64
- if : matrix.cc == 'gcc' && (github.event_name == 'pull_request' || github.ref == 'refs/heads/master') && matrix.config == 'Debug'
65
- with :
66
- token : ${{ secrets.CODECOV_TOKEN }}
67
- file : kcov/kcov-merged/cobertura.xml
68
53
- name : Notify slack
69
54
if : failure() && github.ref == 'refs/heads/master'
70
55
uses : 8398a7/action-slack@v2
@@ -73,38 +58,42 @@ jobs:
73
58
env :
74
59
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
75
60
SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
76
-
77
- build-mac :
78
- runs-on : macOS-10.14
61
+
62
+ coverage :
63
+ runs-on : ubuntu-18.04
79
64
needs : format
80
- strategy :
81
- matrix :
82
- config : [Debug, Release]
65
+ if : (github.event_name == 'pull_request' || github.ref == 'refs/heads/master')
66
+
83
67
84
68
steps :
85
69
- uses : actions/checkout@v1
86
70
- uses : Geode-solutions/actions/get-release@master
87
71
id : opengeode
88
72
with :
89
73
repository : OpenGeode
90
- file : ' -Darwin .tar.gz'
74
+ file : ' -ubuntu .tar.gz'
91
75
token : ${{ secrets.TOKEN }}
92
- - name : Compile & Test
76
+ - name : Compile
93
77
run : |
94
78
mkdir -p build
95
79
cd build
96
- cmake -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_PREFIX_PATH:PATH=${{ steps.opengeode.outputs.path }} ..
97
- cmake --build .
98
- ctest --output-on-failure
80
+ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH:PATH=${{ steps.opengeode.outputs.path }} ..
81
+ cmake --build . -- -j2
82
+ - name : Kcov
83
+ run : curl -s https://raw.githubusercontent.com/Geode-solutions/actions/master/kcov.sh | bash -s -- ${GITHUB_WORKSPACE}/build/bin
84
+ - uses : codecov/codecov-action@v1.0.2
85
+ with :
86
+ token : ${{ secrets.CODECOV_TOKEN }}
87
+ file : kcov/kcov-merged/cobertura.xml
99
88
- name : Notify slack
100
89
if : failure() && github.ref == 'refs/heads/master'
101
90
uses : 8398a7/action-slack@v2
102
91
with :
103
92
status : failure
104
93
env :
105
94
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
106
- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
107
-
95
+ SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
96
+
108
97
build-mac-xcode :
109
98
runs-on : macOS-10.14
110
99
needs : format
@@ -118,7 +107,7 @@ jobs:
118
107
id : opengeode
119
108
with :
120
109
repository : OpenGeode
121
- file : ' -Darwin .tar.gz'
110
+ file : ' -darwin .tar.gz'
122
111
token : ${{ secrets.TOKEN }}
123
112
- name : Compile & Test
124
113
run : |
@@ -169,7 +158,7 @@ jobs:
169
158
170
159
semantic-release :
171
160
runs-on : ubuntu-18.04
172
- needs : [build-ubuntu, build-mac , build-mac-xcode, build-windows]
161
+ needs : [build-linux, coverage , build-mac-xcode, build-windows]
173
162
steps :
174
163
- uses : actions/checkout@v1
175
164
- run : npx semantic-release
0 commit comments