blob: e81914d87a1c0cbdd17ed5ae78ac0827dba976f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html
name: OS Zoo CI
on: [pull_request]
permissions:
contents: read
jobs:
# This has to be a separate job, it seems, because we want to use a
# container for it.
unix-container:
strategy:
fail-fast: false
matrix:
image: ['alpine:edge', 'alpine:latest']
cc: ['gcc', 'clang']
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
steps:
- name: install packages
run: |
apk --no-cache add build-base perl linux-headers git ${{ matrix.cc }}
- uses: actions/checkout@v3
- name: config
run: |
cc="${{ matrix.cc }}"
extra_cflags=""
if [[ ${cc} == "clang" ]] ; then
# https://www.openwall.com/lists/musl/2022/02/16/14
extra_cflags="-Wno-sign-compare"
fi
CC=${{ matrix.cc }} ./config --banner=Configured no-shared \
-Wall -Werror enable-fips --strict-warnings -DOPENSSL_USE_IPV6=0 ${extra_cflags}
- name: config dump
run: ./configdata.pm --dump
- name: make
run: make -s -j4
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
unix:
strategy:
fail-fast: false
matrix:
os: [
macos-11,
macos-12,
macos-13,
ubuntu-20.04,
ubuntu-22.04,
]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: checkout fuzz/corpora submodule
run: git submodule update --init --depth 1 fuzz/corpora
- name: config
run: |
CC=${{ matrix.zoo.cc }} ./config --banner=Configured \
-Wall -Werror --strict-warnings enable-fips
- name: config dump
run: ./configdata.pm --dump
- name: make
run: make -s -j4
- name: make test
run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
windows:
strategy:
fail-fast: false
matrix:
os: [
windows-2019,
windows-2022
]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: checkout fuzz/corpora submodule
run: git submodule update --init --depth 1 fuzz/corpora
- uses: ilammy/msvc-dev-cmd@v1
- uses: ilammy/setup-nasm@v1
- uses: shogo82148/actions-setup-perl@v1
- name: prepare the build directory
run: mkdir _build
- name: config
working-directory: _build
run: |
perl ..\Configure --banner=Configured no-makedepend enable-fips
- name: config dump
working-directory: _build
run: ./configdata.pm --dump
- name: build
working-directory: _build
run: nmake /S
- name: test
working-directory: _build
run: nmake test VERBOSE_FAILURE=yes HARNESS_JOBS=4
|