# 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: schedule: - cron: '0 5 * * *' 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@v4 - 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@v4 - 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@v4 - 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