@@ -22,13 +22,19 @@ jobs:
2222 container : ${{ matrix.image }}
2323
2424 steps :
25- - uses : actions/checkout@v1
26- - name : Define global variables
27- run : echo "::set-output name=zip_file::ipfixcol2-${IMAGE//:/}-$GITHUB_SHA.zip"
28- shell : bash
29- env :
30- IMAGE : ${{ matrix.image }}
31- id : vars
25+ - uses : actions/checkout@v2
26+ - name : Define variables
27+ uses : actions/github-script@v5
28+ with :
29+ script : |
30+ const sha = context.sha.substring(0, 8);
31+ const image = `${{ matrix.image }}`
32+ const distro = image.split('/').pop().replace(/:/g,'_');
33+ const zip = `ipfixcol2-${distro}-${sha}`;
34+ core.exportVariable('ZIP_FILE', zip);
35+ - name : Prepare environment
36+ run : |
37+ mkdir -p build/libfds_repo
3238
3339 # Dependencies ---------------------------------------------------------------------------
3440 - name : Install dependencies for libfds and IPFIXcol2 (Ubuntu/Debian)
@@ -67,57 +73,73 @@ jobs:
6773 ipfixcol2 -V
6874 ipfixcol2 -h
6975 ipfixcol2 -L
70- - name : Pack IPFIXcol2 DEB packages
71- working-directory : ' build/pkg/deb/debbuild/'
72- run : zip "$GITHUB_WORKSPACE/$ZIP_FILE" *.deb *.ddeb *.tar.gz *.dsc
73- env :
74- ZIP_FILE : ${{ steps.vars.outputs.zip_file }}
7576 - name : Archive DEB packages
7677 if : github.event_name == 'push'
77- uses : actions/upload-artifact@v1
78+ uses : actions/upload-artifact@v2
7879 with :
79- name : ${{ steps.vars.outputs.zip_file }}
80- path : ${{ steps.vars.outputs.zip_file }}
80+ name : ${{ env.ZIP_FILE }}
81+ path : |
82+ build/pkg/deb/debbuild/*.deb
83+ build/pkg/deb/debbuild/*.ddeb
84+ build/pkg/deb/debbuild/*.tar.gz
85+ build/pkg/deb/debbuild/*.dsc
8186
8287 rpm :
8388 # Try to build RPM packages
8489 runs-on : ubuntu-latest
8590 strategy :
8691 fail-fast : false
8792 matrix :
88- image : ['centos:7', 'centos:8']
93+ image :
94+ - ' centos:7'
95+ - ' quay.io/centos/centos:stream8'
96+ - ' oraclelinux:8'
8997
9098 name : Build RPMs on ${{ matrix.image }}
9199 container : ${{ matrix.image }}
92100
93101 steps :
94- - uses : actions/checkout@v1
95- - name : Prepare environment and variables
102+ - name : Define variables
103+ uses : actions/github-script@v5
104+ with :
105+ script : |
106+ const sha = context.sha.substring(0, 8);
107+ const image = `${{ matrix.image }}`
108+ const distro = image.split('/').pop().replace(/:/g,'_');
109+ const zip = `ipfixcol2-${distro}-${sha}`;
110+ core.exportVariable('ZIP_FILE', zip);
111+ - name : Prepare environment
96112 run : |
97- echo "::set-output name=zip_file::ipfixcol2-${IMAGE//:/}-$GITHUB_SHA.zip"
98113 mkdir -p build/libfds_repo
99- env :
100- IMAGE : ${{ matrix.image }}
101- id : vars
102114
103115 # Dependencies ---------------------------------------------------------------------------
104- - name : Enable additional repositories (CentOS 8 )
105- if : startsWith (matrix.image, 'centos:8 ')
116+ - name : Enable additional repositories (CentOS Stream )
117+ if : contains (matrix.image, 'centos:stream ')
106118 run : |
107119 dnf -y install 'dnf-command(config-manager)'
108120 dnf config-manager --set-enabled appstream powertools
109- - name : Install dependencies for libfds and IPFIXcol2 (CentOS)
110- if : startsWith(matrix.image, 'centos')
121+ - name : Enable additional repositories (Oracle Linux)
122+ if : contains(matrix.image, 'oraclelinux')
123+ run : |
124+ dnf -y install 'dnf-command(config-manager)'
125+ dnf config-manager --set-enabled ol8_appstream ol8_codeready_builder
126+ - name : Enable EPEL (CentOS)
127+ if : contains(matrix.image, 'centos')
111128 run : |
112129 yum -y install epel-release
130+ - name : Enable EPEL (OracleLinux)
131+ if : contains(matrix.image, 'oraclelinux')
132+ run : |
133+ dnf -y install oracle-epel-release-el8
134+ - name : Install dependencies for libfds and IPFIXcol2 (CentOS, Oracle Linux)
135+ if : contains(matrix.image, 'centos') || contains(matrix.image, 'oraclelinux')
136+ run : |
113137 yum -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
114138 yum -y install zlib-devel pkgconfig rpm-build librdkafka-devel
115139 yum -y install python3-docutils || yum -y install python-docutils
116- - name : Install depedencies for libfds and IPFIXcol2 (Fedora)
117- if : startsWith(matrix.image, 'fedora')
118- run : |
119- dnf -y install git gcc gcc-c++ cmake make libxml2-devel lz4-devel libzstd-devel
120- dnf -y install python3-docutils zlib-devel pkgconfig rpm-build librdkafka-devel
140+
141+ # Checkout repository --------------------------------------------------------------------
142+ - uses : actions/checkout@v2
121143
122144 # Build LIBFDS RPM package ---------------------------------------------------------------
123145 - name : Checkout libfds library - master branch
@@ -146,14 +168,11 @@ jobs:
146168 ipfixcol2 -V
147169 ipfixcol2 -h
148170 ipfixcol2 -L -v
149- - name : Pack IPFIXcol2 RPM packages
150- working-directory : ' build/pkg/rpm/rpmbuild'
151- run : zip -r "$GITHUB_WORKSPACE/$ZIP_FILE" RPMS SRPMS
152- env :
153- ZIP_FILE : ${{ steps.vars.outputs.zip_file }}
154171 - name : Archive RPM packages
155172 if : github.event_name == 'push'
156- uses : actions/upload-artifact@v1
173+ uses : actions/upload-artifact@v2
157174 with :
158- name : ${{ steps.vars.outputs.zip_file }}
159- path : ${{ steps.vars.outputs.zip_file }}
175+ name : ${{ env.ZIP_FILE }}
176+ path : |
177+ build/pkg/rpm/rpmbuild/RPMS/
178+ build/pkg/rpm/rpmbuild/SRPMS/
0 commit comments