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