Skip to content

Commit 5df5720

Browse files
authored
Merge pull request #7642 from julek-wolfssl/sasl-action
Add sasl action
2 parents 38089f1 + a4ee5af commit 5df5720

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

.github/workflows/cyrus-sasl.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: cyrus-sasl Tests
2+
3+
# START OF COMMON SECTION
4+
on:
5+
push:
6+
branches: [ 'master', 'main', 'release/**' ]
7+
pull_request:
8+
branches: [ '*' ]
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
# END OF COMMON SECTION
14+
15+
jobs:
16+
build_wolfssl:
17+
name: Build wolfSSL
18+
# Just to keep it the same as the testing target
19+
runs-on: ubuntu-latest
20+
# This should be a safe limit for the tests to run.
21+
timeout-minutes: 4
22+
steps:
23+
- name: Build wolfSSL
24+
uses: wolfSSL/actions-build-autotools-project@v1
25+
with:
26+
path: wolfssl
27+
configure: --enable-all
28+
install: true
29+
# Don't run tests as this config is tested in many other places
30+
check: false
31+
32+
- name: Upload built lib
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: wolf-install-sasl
36+
path: build-dir
37+
retention-days: 5
38+
39+
sasl_check:
40+
strategy:
41+
fail-fast: false
42+
matrix:
43+
# List of releases to test
44+
ref: [ 2.1.28 ]
45+
name: ${{ matrix.ref }}
46+
runs-on: ubuntu-latest
47+
# This should be a safe limit for the tests to run.
48+
timeout-minutes: 4
49+
needs: build_wolfssl
50+
steps:
51+
- name: Install dependencies
52+
run: |
53+
# Don't prompt for anything
54+
export DEBIAN_FRONTEND=noninteractive
55+
sudo apt-get update
56+
sudo apt-get install krb5-kdc krb5-otp libkrb5-dev \
57+
libsocket-wrapper libnss-wrapper krb5-admin-server libdb5.3-dev
58+
59+
- name: Download lib
60+
uses: actions/download-artifact@v4
61+
with:
62+
name: wolf-install-sasl
63+
path: build-dir
64+
65+
- name: Checkout OSP
66+
uses: actions/checkout@v4
67+
with:
68+
repository: wolfssl/osp
69+
path: osp
70+
71+
- name: Checkout sasl
72+
uses: actions/checkout@v4
73+
with:
74+
repository: cyrusimap/cyrus-sasl
75+
ref: cyrus-sasl-${{ matrix.ref }}
76+
path: sasl
77+
78+
- name: Build cyrus-sasl
79+
working-directory: sasl
80+
run: |
81+
patch -p1 < $GITHUB_WORKSPACE/osp/cyrus-sasl/${{ matrix.ref }}/${{ matrix.ref }}.patch
82+
autoreconf -ivf
83+
./configure --with-openssl=no --with-wolfssl=$GITHUB_WORKSPACE/build-dir --with-dblib=berkeley --disable-shared
84+
# Need to run 'make' twice with '--disable-shared' for some reason
85+
make -j || make -j
86+
87+
- name: Run testsuite
88+
working-directory: sasl
89+
run: |
90+
make -j -C utils testsuite saslpasswd2
91+
$GITHUB_WORKSPACE/osp/cyrus-sasl/${{ matrix.ref }}/run-tests.sh

0 commit comments

Comments
 (0)