Skip to content

Commit be40be0

Browse files
committed
Consolidate CI workflows and update action versions
Replace fsanitize-check.yml, macos-check.yml, and ubuntu-check.yml with a single ci.yml that uses a matrix of OS, config, and sanitizer dimensions. Update all checkout actions to v4 and setup-msbuild to v2.
1 parent b28b79d commit be40be0

5 files changed

Lines changed: 73 additions & 194 deletions

File tree

.github/workflows/ci.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ['*']
6+
pull_request:
7+
branches: ['*']
8+
9+
jobs:
10+
build:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
os: [ubuntu-latest, macos-latest]
15+
config:
16+
- '--enable-wolfclu'
17+
- '--enable-wolfclu --enable-crl --enable-dsa --enable-pkcs7'
18+
- '--enable-wolfclu --enable-smallstack'
19+
- '--enable-wolfclu --enable-experimental --enable-dilithium'
20+
- '--enable-wolfclu --enable-smallstack --enable-experimental --enable-dilithium'
21+
- '--enable-all'
22+
sanitize: ['', 'CC="cc -fsanitize=address"']
23+
24+
name: ${{ matrix.os }} ${{ matrix.sanitize && 'ASAN' || '' }} (${{ matrix.config }})
25+
runs-on: ${{ matrix.os }}
26+
timeout-minutes: 10
27+
28+
steps:
29+
- uses: actions/checkout@v4
30+
31+
- uses: actions/checkout@v4
32+
with:
33+
repository: wolfssl/wolfssl
34+
ref: master
35+
path: wolfssl
36+
37+
- name: Install dependencies (Ubuntu)
38+
if: runner.os == 'Linux'
39+
run: |
40+
export DEBIAN_FRONTEND=noninteractive
41+
sudo apt-get update
42+
sudo apt-get install -y openssl
43+
44+
- name: Install dependencies (macOS)
45+
if: runner.os == 'macOS'
46+
run: brew install automake libtool
47+
48+
- name: Build and install wolfSSL
49+
working-directory: ./wolfssl
50+
run: |
51+
./autogen.sh
52+
./configure ${{ matrix.config }} ${{ matrix.sanitize }} --prefix=$GITHUB_WORKSPACE/build-dir
53+
make -j
54+
make install
55+
56+
- name: Build wolfCLU
57+
run: |
58+
./autogen.sh
59+
./configure ${{ matrix.sanitize }} --with-wolfssl=$GITHUB_WORKSPACE/build-dir
60+
make -j
61+
62+
- name: Run tests
63+
env:
64+
LD_LIBRARY_PATH: ${{ github.workspace }}/build-dir/lib
65+
DYLD_LIBRARY_PATH: ${{ github.workspace }}/build-dir/lib
66+
run: make check
67+
68+
- name: Display log
69+
if: always()
70+
run: cat test-suite.log || true

.github/workflows/fsanitize-check.yml

Lines changed: 0 additions & 90 deletions
This file was deleted.

.github/workflows/macos-check.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

.github/workflows/ubuntu-check.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/workflows/windows-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ jobs:
2727
runs-on: windows-latest
2828

2929
steps:
30-
- uses: actions/checkout@v2
30+
- uses: actions/checkout@v4
3131
with:
3232
repository: wolfssl/wolfssl
3333
path: wolfssl
3434

35-
- uses: actions/checkout@master
35+
- uses: actions/checkout@v4
3636
with:
3737
path: wolfclu
3838

3939
- name: Add MSBuild to PATH
40-
uses: microsoft/setup-msbuild@v1
40+
uses: microsoft/setup-msbuild@v2
4141

4242
- name: Restore wolfSSL NuGet packages
4343
working-directory: ${{env.GITHUB_WORKSPACE}}

0 commit comments

Comments
 (0)