Skip to content

Commit 1df4303

Browse files
authored
Merge pull request syslog-ng#3763 from szemere/nightly_packages
Compile and upload binary packages (nightly and release-draft)
2 parents 33da436 + 2376877 commit 1df4303

File tree

8 files changed

+150
-3
lines changed

8 files changed

+150
-3
lines changed

.github/workflows/draft-release.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ jobs:
4747
run: |
4848
./dbld/rules release VERSION=`cat VERSION`
4949
50+
- name: Store release tarball as artifact
51+
uses: actions/upload-artifact@v2
52+
with:
53+
name: tarball
54+
path: dbld/release/${VERSION}/${RELEASE_NAME}.tar.gz
55+
5056
- name: Create draft release
5157
run: |
5258
VERSION=`cat VERSION`
@@ -73,3 +79,55 @@ jobs:
7379
hub api \
7480
${COMMENT_ENDPOINT} \
7581
--field body="${COMMENT}"
82+
83+
packages:
84+
runs-on: ubuntu-latest
85+
needs: draft-release
86+
strategy:
87+
matrix:
88+
dbld-builder-images:
89+
- { distro: 'debian-stretch', pkg: 'deb', upload: 'true' }
90+
- { distro: 'debian-buster', pkg: 'deb', upload: 'true' }
91+
- { distro: 'debian-sid', pkg: 'deb', upload: 'true' }
92+
- { distro: 'ubuntu-xenial', pkg: 'deb', upload: 'true' }
93+
- { distro: 'ubuntu-bionic', pkg: 'deb', upload: 'true' }
94+
- { distro: 'ubuntu-focal', pkg: 'deb', upload: 'true' }
95+
- { distro: 'centos-7', pkg: 'rpm', upload: 'false' }
96+
- { distro: 'fedora-33', pkg: 'rpm', upload: 'false' }
97+
fail-fast: false
98+
env:
99+
DISTRIBUTION: ${{ matrix.dbld-builder-images.distro }}
100+
PACKAGE_FORMAT: ${{ matrix.dbld-builder-images.pkg }}
101+
UPLOAD: ${{ matrix.dbld-builder-images.upload }}
102+
103+
steps:
104+
- name: Create a working directory
105+
run: |
106+
MY_WORKSPACE=$(mktemp --tmpdir=${GITHUB_WORKSPACE} -d tarball-XXXXX)
107+
MY_WORKSPACE_NAME=${MY_WORKSPACE##"${GITHUB_WORKSPACE}/"}
108+
echo "MY_WORKSPACE_NAME=${MY_WORKSPACE_NAME}" >> ${GITHUB_ENV}
109+
110+
- name: Fetch tarball artifact
111+
uses: actions/download-artifact@v2
112+
with:
113+
name: tarball
114+
path: ${{ env.MY_WORKSPACE_NAME }}
115+
116+
- name: Extract tarball
117+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME} && mkdir syslog-ng && tar --strip-components=1 -xf syslog-ng*.tar.gz -C syslog-ng && ls -lR
118+
119+
- name: Image for ${{ env.DISTRIBUTION }}
120+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME}/syslog-ng && ./dbld/rules image-${{ env.DISTRIBUTION }}
121+
122+
- name: Binary for ${{ env.DISTRIBUTION }}
123+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME}/syslog-ng && ./dbld/rules package-${{ env.DISTRIBUTION }}
124+
125+
# Note: azure/CLI docker container mounts the GITHUB_WORKSPACE folder and changes the environment variable.
126+
- name: Upload the package
127+
if: env.UPLOAD == 'true'
128+
uses: azure/CLI@v1
129+
env:
130+
SRC_PATH: ${{ env.MY_WORKSPACE_NAME }}/syslog-ng/dbld/build/${{ env.DISTRIBUTION }}
131+
DST_PATH: incoming-release/${{ github.run_id }}/${{ env.DISTRIBUTION }}
132+
with:
133+
inlineScript: az storage blob upload-batch --sas-token '${{ secrets.AZURE_SAS_TOKEN }}' --account-name 'syslogngose' --source ${GITHUB_WORKSPACE}/${SRC_PATH} --destination ${DST_PATH}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Nightly packages
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '00 23 * * *'
7+
8+
9+
jobs:
10+
tarball:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout syslog-ng source
15+
uses: actions/checkout@v2
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Docker image
20+
run: ./dbld/rules cache-image-tarball
21+
22+
- name: Tarball
23+
run: ./dbld/rules pkg-tarball
24+
25+
- name: Store tarball as artifact
26+
uses: actions/upload-artifact@v2
27+
with:
28+
name: tarball
29+
path: dbld/build/*.tar.gz
30+
31+
packages:
32+
runs-on: ubuntu-latest
33+
needs: tarball
34+
strategy:
35+
matrix:
36+
dbld-builder-images:
37+
- { distro: 'debian-stretch', pkg: 'deb', upload: 'true' }
38+
- { distro: 'debian-buster', pkg: 'deb', upload: 'true' }
39+
- { distro: 'debian-sid', pkg: 'deb', upload: 'true' }
40+
- { distro: 'ubuntu-xenial', pkg: 'deb', upload: 'true' }
41+
- { distro: 'ubuntu-bionic', pkg: 'deb', upload: 'true' }
42+
- { distro: 'ubuntu-focal', pkg: 'deb', upload: 'true' }
43+
- { distro: 'centos-7', pkg: 'rpm', upload: 'false' }
44+
- { distro: 'fedora-33', pkg: 'rpm', upload: 'false' }
45+
fail-fast: false
46+
env:
47+
DISTRIBUTION: ${{ matrix.dbld-builder-images.distro }}
48+
PACKAGE_FORMAT: ${{ matrix.dbld-builder-images.pkg }}
49+
UPLOAD: ${{ matrix.dbld-builder-images.upload }}
50+
51+
steps:
52+
- name: Create a working directory
53+
run: |
54+
MY_WORKSPACE=$(mktemp --tmpdir=${GITHUB_WORKSPACE} -d tarball-XXXXX)
55+
MY_WORKSPACE_NAME=${MY_WORKSPACE##"${GITHUB_WORKSPACE}/"}
56+
echo "MY_WORKSPACE_NAME=${MY_WORKSPACE_NAME}" >> ${GITHUB_ENV}
57+
58+
- name: Fetch tarball artifact
59+
uses: actions/download-artifact@v2
60+
with:
61+
name: tarball
62+
path: ${{ env.MY_WORKSPACE_NAME }}
63+
64+
- name: Extract tarball
65+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME} && mkdir syslog-ng && tar --strip-components=1 -xf syslog-ng*.tar.gz -C syslog-ng && ls -lR
66+
67+
- name: Image for ${{ env.DISTRIBUTION }}
68+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME}/syslog-ng && ./dbld/rules image-${{ env.DISTRIBUTION }}
69+
70+
- name: Binary for ${{ env.DISTRIBUTION }}
71+
run: cd ${GITHUB_WORKSPACE}/${MY_WORKSPACE_NAME}/syslog-ng && ./dbld/rules package-${{ env.DISTRIBUTION }}
72+
73+
# Note: azure/CLI docker container mounts the GITHUB_WORKSPACE folder and changes the environment variable.
74+
- name: Upload the package
75+
if: env.UPLOAD == 'true'
76+
uses: azure/CLI@v1
77+
env:
78+
SRC_PATH: ${{ env.MY_WORKSPACE_NAME }}/syslog-ng/dbld/build/${{ env.DISTRIBUTION }}
79+
DST_PATH: incoming-nightly/${{ env.DISTRIBUTION }}
80+
with:
81+
inlineScript: az storage blob upload-batch --sas-token '${{ secrets.AZURE_SAS_TOKEN }}' --account-name 'syslogngose' --source ${GITHUB_WORKSPACE}/${SRC_PATH} --destination ${DST_PATH}

.github/workflows/packages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
tarball:
12-
runs-on: ubuntu-18.04
12+
runs-on: ubuntu-latest
1313

1414
steps:
1515
- name: Checkout syslog-ng source
@@ -30,7 +30,7 @@ jobs:
3030
path: dbld/build/*.tar.gz
3131

3232
packages:
33-
runs-on: ubuntu-18.04
33+
runs-on: ubuntu-latest
3434
needs: tarball
3535
strategy:
3636
matrix:

configure.ac

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,6 +1268,7 @@ CPPFLAGS_SAVE="$CPPFLAGS"
12681268
CPPFLAGS="$CPPFLAGS $LIBMONGO_CFLAGS"
12691269

12701270
AC_CHECK_DECLS([mongoc_uri_set_option_as_int32], [], [], [[#include <mongoc.h>]])
1271+
AC_CHECK_DECLS([MONGOC_URI_SERVERSELECTIONTIMEOUTMS], [], [], [[#include <mongoc.h>]])
12711272

12721273
CPPFLAGS="$CPPFLAGS_SAVE"
12731274
fi

dbld/Makefile.am

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,13 @@ EXTRA_DIST += \
3131
dbld/images/fedora-33.dockerfile \
3232
dbld/images/debian-stretch.dockerfile \
3333
dbld/images/debian-buster.dockerfile \
34+
dbld/images/debian-sid.dockerfile \
35+
dbld/images/debian-testing.dockerfile \
3436
dbld/images/ubuntu-xenial.dockerfile \
3537
dbld/images/ubuntu-bionic.dockerfile \
3638
dbld/images/ubuntu-focal.dockerfile \
39+
dbld/images/kira.dockerfile \
40+
dbld/images/tarball.dockerfile \
41+
dbld/images/hooks/build \
3742
dbld/images/README.md \
3843
dbld/README.md

modules/afmongodb/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ if (ENABLE_MONGODB)
1111
set(CMAKE_REQUIRED_INCLUDES ${MONGOC_INCLUDE_DIRS})
1212
set(CMAKE_REQUIRED_LIBRARIES ${MONGOC_LIBRARY})
1313
check_symbol_exists(mongoc_uri_set_option_as_int32 "mongoc.h" SYSLOG_NG_HAVE_DECL_MONGOC_URI_SET_OPTION_AS_INT32)
14+
check_symbol_exists(MONGOC_URI_SERVERSELECTIONTIMEOUTMS "mongoc.h" SYSLOG_NG_HAVE_DECL_MONGOC_URI_SERVERSELECTIONTIMEOUTMS)
1415

1516
set(AFMONGODB_SOURCES
1617
"afmongodb.h"

modules/afmongodb/afmongodb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ _format_persist_name(const LogPipe *s)
144144
static inline void
145145
_uri_set_default_server_selection_timeout(mongoc_uri_t *uri_obj)
146146
{
147-
#if SYSLOG_NG_HAVE_DECL_MONGOC_URI_SET_OPTION_AS_INT32
147+
#if SYSLOG_NG_HAVE_DECL_MONGOC_URI_SET_OPTION_AS_INT32 && SYSLOG_NG_HAVE_DECL_MONGOC_URI_SERVERSELECTIONTIMEOUTMS
148148
gint32 server_selection_timeout = mongoc_uri_get_option_as_int32(uri_obj, MONGOC_URI_SERVERSELECTIONTIMEOUTMS,
149149
DEFAULT_SERVER_SELECTION_TIMEOUT);
150150
mongoc_uri_set_option_as_int32(uri_obj, MONGOC_URI_SERVERSELECTIONTIMEOUTMS, server_selection_timeout);

syslog-ng-config.h.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
#cmakedefine01 SYSLOG_NG_HAVE_DECL_BN_GET_RFC3526_PRIME_2048
6363
#cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET_NUM_TICKETS
6464
#cmakedefine01 SYSLOG_NG_HAVE_DECL_MONGOC_URI_SET_OPTION_AS_INT32
65+
#cmakedefine01 SYSLOG_NG_HAVE_DECL_MONGOC_URI_SERVERSELECTIONTIMEOUTMS
6566
#cmakedefine01 SYSLOG_NG_HAVE_INOTIFY
6667
#cmakedefine SYSLOG_NG_HAVE_GETRANDOM
6768
#cmakedefine01 SYSLOG_NG_USE_CONST_IVYKIS_MOCK

0 commit comments

Comments
 (0)