forked from htcondor/htcondor
-
Notifications
You must be signed in to change notification settings - Fork 0
91 lines (83 loc) · 2.59 KB
/
build.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
name: CMake Build Matrix
on: [push, pull_request]
env:
BUILD_TYPE: Release
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {
name: "macOS Latest Clang",
os: macOS,
cc: "clang", cxx: "clang++"
}
steps:
- uses: actions/checkout@v1
- name: Configure
shell: cmake -P {0}
run: |
set(ENV{CC} ${{ matrix.config.cc }})
set(ENV{CXX} ${{ matrix.config.cxx }})
set(path_separator ":")
if ("${{ runner.os }}" STREQUAL "Windows")
set(path_separator ";")
endif()
set(ENV{PATH} "$ENV{GITHUB_WORKSPACE}${path_separator}$ENV{PATH}")
execute_process(
COMMAND cmake
-S .
-B condor_build
-D CMAKE_BUILD_TYPE=$ENV{BUILD_TYPE}
-D CMAKE_INSTALL_PREFIX=release_dir
-G Ninja
-D CMAKE_MAKE_PROGRAM=ninja
-D WANT_PYTHON2_BINDINGS=OFF
-D WITH_VOMS=OFF
RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
- name: Build
shell: cmake -P {0}
run: |
set(ENV{NINJA_STATUS} "[%f/%t %o/sec] ")
execute_process(
COMMAND cmake --build condor_build
RESULT_VARIABLE result
OUTPUT_VARIABLE output
ERROR_VARIABLE output
ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
)
if (NOT result EQUAL 0)
string(REGEX MATCH "FAILED:.*$" error_message "${output}")
string(REPLACE "\n" "%0A" error_message "${error_message}")
message("::error::${error_message}")
message(FATAL_ERROR "Build failed")
endif()
- name: Install
run: cmake --install condor_build
#- name: Run tests
# shell: cmake -P {0}
# run: |
# include(ProcessorCount)
# ProcessorCount(N)
# set(ENV{CTEST_OUTPUT_ON_FAILURE} "ON")
# execute_process(
# COMMAND ctest -j ${N}
# WORKING_DIRECTORY condor_build
# RESULT_VARIABLE result
# OUTPUT_VARIABLE output
# ERROR_VARIABLE output
# ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
# )
# if (NOT result EQUAL 0)
# string(REGEX MATCH "[0-9]+% tests.*[0-9.]+ sec.*$" test_results "${output}")
# string(REPLACE "\n" "%0A" test_results "${test_results}")
# message("::error::${test_results}")
# message(FATAL_ERROR "Running tests failed!")
# endif()