1 # Copyright 2021-2024 The OpenSSL Project Authors. All Rights Reserved.
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
24 branch: [openssl-3.0, openssl-3.1, master]
25 runs-on: ubuntu-latest
27 image: docker.io/library/alpine:${{ matrix.tag }}
29 # https://www.openwall.com/lists/musl/2022/02/16/14
30 EXTRA_CFLAGS: ${{ matrix.cc == 'clang' && '-Wno-sign-compare' || '' }}
33 - name: install packages
34 run: apk --no-cache add build-base perl linux-headers ${{ matrix.cc }}
35 - uses: actions/checkout@v4
37 ref: ${{ matrix.branch }}
40 ./config --banner=Configured no-shared -Wall -Werror enable-fips --strict-warnings -DOPENSSL_USE_IPV6=0 \
43 run: ./configdata.pm --dump
49 ./util/opensslwrap.sh version -c
51 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
57 branch: [openssl-3.0, openssl-3.1, master]
59 - image: docker.io/library/debian:10
60 install: apt-get update && apt-get install -y gcc make perl
61 - image: docker.io/library/debian:11
62 install: apt-get update && apt-get install -y gcc make perl
63 - image: docker.io/library/debian:12
64 install: apt-get update && apt-get install -y gcc make perl
65 - image: docker.io/library/ubuntu:20.04
66 install: apt-get update && apt-get install -y gcc make perl
67 - image: docker.io/library/ubuntu:22.04
68 install: apt-get update && apt-get install -y gcc make perl
69 - image: docker.io/library/fedora:38
70 install: dnf install -y gcc make perl-core
71 - image: docker.io/library/fedora:39
72 install: dnf install -y gcc make perl-core
73 - image: docker.io/library/centos:8
75 sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
76 sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && \
77 dnf install -y gcc make perl-core
78 - image: docker.io/library/rockylinux:8
79 install: dnf install -y gcc make perl-core
80 - image: docker.io/library/rockylinux:9
81 install: dnf install -y gcc make perl-core
82 runs-on: ubuntu-latest
83 container: ${{ matrix.zoo.image }}
85 - uses: actions/checkout@v4
87 ref: ${{ matrix.branch }}
88 - name: install packages
89 run: ${{ matrix.zoo.install }}
93 run: ./configdata.pm --dump
99 ./util/opensslwrap.sh version -c
101 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
107 branch: [openssl-3.0, openssl-3.1, master]
108 os: [macos-11, macos-12, macos-13, macos-14]
109 runs-on: ${{ matrix.os }}
111 - uses: actions/checkout@v4
113 ref: ${{ matrix.branch }}
114 - name: checkout fuzz/corpora submodule
115 run: git submodule update --init --depth 1 fuzz/corpora
117 run: ./config --banner=Configured -Wall -Werror --strict-warnings enable-fips
119 run: ./configdata.pm --dump
125 ./util/opensslwrap.sh version -c
127 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
133 branch: [openssl-3.0, openssl-3.1, master]
134 os: [windows-2019, windows-2022]
135 runs-on: ${{ matrix.os }}
137 - uses: actions/checkout@v4
139 ref: ${{ matrix.branch }}
140 - name: checkout fuzz/corpora submodule
141 run: git submodule update --init --depth 1 fuzz/corpora
142 - uses: ilammy/msvc-dev-cmd@v1
143 - uses: ilammy/setup-nasm@v1
144 - name: prepare the build directory
147 working-directory: _build
148 run: perl ..\Configure --banner=Configured no-makedepend enable-fips
150 working-directory: _build
151 run: ./configdata.pm --dump
153 working-directory: _build
155 - name: download coreinfo
156 uses: suisei-cn/actions-download-file@v1.6.0
158 url: "https://download.sysinternals.com/files/Coreinfo.zip"
159 target: _build/coreinfo/
161 working-directory: _build
163 7z.exe x coreinfo/Coreinfo.zip
164 ./Coreinfo64.exe -accepteula -f
165 apps/openssl.exe version -c
167 working-directory: _build
168 run: nmake test VERBOSE_FAILURE=yes HARNESS_JOBS=4
173 os: [freebsd-13.2, ubuntu-arm64-22.04]
174 runs-on: ${{ matrix.os }}-self-hosted
175 continue-on-error: true
177 - uses: actions/checkout@v4
179 run: ./config enable-fips enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method enable-trace
181 run: ./configdata.pm --dump
185 run: ./util/opensslwrap.sh version -c
187 run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}