10
10
general :
11
11
strategy :
12
12
matrix :
13
+ # https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners
14
+ # 13 - X86_64
15
+ # 14 or latest - Arm64 M1
13
16
version : [13, 14]
14
17
build-tool : [ autotools, cmake ]
15
18
compiler : [ {cpp: clang++, c: clang}, {cpp: g++, c: gcc} ]
19
+ exclude :
20
+ - version : 14
21
+ compiler : {cpp: clang++, c: clang}
16
22
fail-fast : false
17
23
18
24
runs-on : macOS-${{ matrix.version }}
39
45
brew update --preinstall
40
46
brew bundle --file=contrib/Brewfile
41
47
48
+ OS_NAME=$([[ ${{ matrix.version }} -eq 13 ]] && echo "Ventura" || echo "Sonoma")
49
+ MACPORTS_PKG_NAME=MacPorts-2.10.1-${{ matrix.version }}-${OS_NAME}.pkg
50
+ MACPORTS_URL=https://github.com/macports/macports-base/releases/download/v2.10.1/${MACPORTS_PKG_NAME}
51
+ wget ${MACPORTS_URL}
52
+ sudo installer -pkg ./${MACPORTS_PKG_NAME} -target /
53
+ sudo /opt/local/bin/port install libesmtp
54
+
42
55
- name : Set ENV variables
43
56
env :
44
57
CC : ${{ matrix.compiler.c }}
@@ -48,22 +61,22 @@ jobs:
48
61
. .github/workflows/gh-tools.sh
49
62
50
63
HOMEBREW_PREFIX="$(brew --prefix)"
64
+ MACPORTS_PREFIX=/opt/local
65
+ SYSLOG_NG_INSTALL_DIR="${HOME}/install/syslog-ng"
51
66
PYTHONUSERBASE="${HOME}/python_packages"
52
67
THREADS="$(sysctl -n hw.physicalcpu)"
53
- CFLAGS="-I${HOMEBREW_PREFIX}/include/"
54
- LDFLAGS="-L${HOMEBREW_PREFIX}/lib"
68
+ CFLAGS="-I${HOMEBREW_PREFIX}/include/ -I${MACPORTS_PREFIX}/include "
69
+ LDFLAGS="-L${HOMEBREW_PREFIX}/lib -L${MACPORTS_PREFIX}/lib "
55
70
CONFIGURE_FLAGS="
56
71
--enable-force-gnu99
57
72
--prefix=${SYSLOG_NG_INSTALL_DIR}
58
73
--enable-all-modules
59
74
--enable-tests
60
- --with-ivykis=internal
75
+ --with-ivykis=system
61
76
--with-python=3
62
77
--with-systemd-journal=no
63
- --disable-smtp
64
78
--disable-java
65
79
--disable-java-modules
66
- --disable-pacct
67
80
"
68
81
CMAKE_CONFIGURE_FLAGS="
69
82
-DCMAKE_BUILD_TYPE=Debug
@@ -72,16 +85,13 @@ jobs:
72
85
-DIVYKIS_SOURCE=internal
73
86
-DPYTHON_VERSION=3
74
87
-DENABLE_JOURNALD=OFF
75
- -DENABLE_AFSMTP=OFF
76
- -DENABLE_GRPC=OFF
77
88
-DENABLE_JAVA=OFF
78
89
-DENABLE_JAVA_MODULES=OFF
79
- -DENABLE_PACCT=OFF
80
90
"
81
- PKG_CONFIG_PATH="${HOMEBREW_PREFIX}/opt/openssl@3/lib/pkgconfig:${HOMEBREW_PREFIX}/opt/net-snmp/lib/pkgconfig:${HOMEBREW_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
82
- PATH="${HOMEBREW_PREFIX}/opt/bison/bin:${HOMEBREW_PREFIX}/opt/libnet/bin:${HOMEBREW_PREFIX}/opt/net-snmp/bin:${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin:${PYTHONUSERBASE}/bin:${PATH}"
91
+ PKG_CONFIG_PATH="${HOMEBREW_PREFIX}/opt/openssl@3/lib/pkgconfig:${HOMEBREW_PREFIX}/opt/net-snmp/lib/pkgconfig:${HOMEBREW_PREFIX}/lib/pkgconfig:${MACPORTS_PREFIX}/lib/pkgconfig:${ PKG_CONFIG_PATH}"
92
+ PATH="${HOMEBREW_PREFIX}/opt/bison/bin:${HOMEBREW_PREFIX}/opt/libnet/bin:${HOMEBREW_PREFIX}/opt/net-snmp/bin:${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin:${PYTHONUSERBASE}/bin:${MACPORTS_PREFIX}/bin:${MACPORTS_PREFIX}/sbin:${ PATH}"
83
93
84
- gh_export HOMEBREW_PREFIX PYTHONUSERBASE CC CXX PKG_CONFIG_PATH THREADS CONFIGURE_FLAGS CFLAGS LDFLAGS CMAKE_CONFIGURE_FLAGS PATH
94
+ gh_export HOMEBREW_PREFIX MACPORTS_PREFIX SYSLOG_NG_INSTALL_DIR PYTHONUSERBASE CC CXX PKG_CONFIG_PATH THREADS CONFIGURE_FLAGS CFLAGS LDFLAGS CMAKE_CONFIGURE_FLAGS PATH
85
95
gh_path "${PATH}"
86
96
87
97
echo "ARCH: " $(arch)
@@ -101,36 +111,36 @@ jobs:
101
111
- name : cmake configure
102
112
if : matrix.build-tool == 'cmake'
103
113
run : |
104
- mkdir build
105
-
106
114
# If you know the valid syntax to provide the quoted string for -DCMAKE_C_FLAGS inplace in CMAKE_CONFIGURE_FLAGS above (in Set ENV variables step) instead of this hack, please contribute!
107
115
#
108
116
# TODO: -Wall must be replaced here with -Werror but now multiple warnings could occure in several modules that needs to be corrected first
109
117
#
110
- cmake --install-prefix "${HOME}/install/syslog-ng " -B build . -DCMAKE_C_FLAGS="-Wall ${CFLAGS}" ${CMAKE_CONFIGURE_FLAGS}
118
+ cmake --install-prefix "${SYSLOG_NG_INSTALL_DIR} " -B build . -DCMAKE_C_FLAGS="-Wall ${CFLAGS}" ${CMAKE_CONFIGURE_FLAGS}
111
119
112
120
- name : cmake install
113
121
if : matrix.build-tool == 'cmake'
114
122
run : |
115
123
cmake --build ./build -j ${THREADS} --target install
124
+ "${SYSLOG_NG_INSTALL_DIR}/sbin/syslog-ng" -V
116
125
117
126
- name : cmake check
118
127
# FIXME: Some of our checks still do not run correctly on silicon yet (and probably never will)
119
128
if : matrix.build-tool == 'cmake' && matrix.version != 14
120
129
run : |
121
130
cmake --build ./build -j ${THREADS} --target check
122
131
123
- - name : make
132
+ - name : make install
124
133
if : matrix.build-tool == 'autotools'
125
134
run : |
126
135
set -e
127
136
128
- make --keep-going -j ${THREADS} || \
137
+ make --keep-going install -j ${THREADS} || \
129
138
{ \
130
139
S=$?; \
131
140
make V=1; \
132
141
return $S; \
133
142
}
143
+ "${SYSLOG_NG_INSTALL_DIR}/sbin/syslog-ng" -V
134
144
135
145
- name : make check
136
146
# FIXME: Some of our checks still do not run correctly on silicon yet (and probably never will)
0 commit comments