123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- # Copyright 2021-2024 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:
- alpine:
- strategy:
- fail-fast: false
- matrix:
- tag: [edge, latest]
- cc: [gcc, clang]
- branch: [openssl-3.0, openssl-3.1, master]
- runs-on: ubuntu-latest
- container:
- image: docker.io/library/alpine:${{ matrix.tag }}
- env:
- # https://www.openwall.com/lists/musl/2022/02/16/14
- EXTRA_CFLAGS: ${{ matrix.cc == 'clang' && '-Wno-sign-compare' || '' }}
- CC: ${{ matrix.cc }}
- steps:
- - name: install packages
- run: apk --no-cache add build-base perl linux-headers ${{ matrix.cc }}
- - uses: actions/checkout@v4
- with:
- ref: ${{ matrix.branch }}
- - name: config
- run: |
- ./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: get cpu info
- run: |
- cat /proc/cpuinfo
- ./util/opensslwrap.sh version -c
- - name: make test
- run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
- linux:
- strategy:
- fail-fast: false
- matrix:
- branch: [openssl-3.0, openssl-3.1, master]
- zoo:
- - image: docker.io/library/debian:10
- install: apt-get update && apt-get install -y gcc make perl
- - image: docker.io/library/debian:11
- install: apt-get update && apt-get install -y gcc make perl
- - image: docker.io/library/debian:12
- install: apt-get update && apt-get install -y gcc make perl
- - image: docker.io/library/ubuntu:20.04
- install: apt-get update && apt-get install -y gcc make perl
- - image: docker.io/library/ubuntu:22.04
- install: apt-get update && apt-get install -y gcc make perl
- - image: docker.io/library/fedora:38
- install: dnf install -y gcc make perl-core
- - image: docker.io/library/fedora:39
- install: dnf install -y gcc make perl-core
- - image: docker.io/library/centos:8
- install: |
- sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && \
- sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && \
- dnf install -y gcc make perl-core
- - image: docker.io/library/rockylinux:8
- install: dnf install -y gcc make perl-core
- - image: docker.io/library/rockylinux:9
- install: dnf install -y gcc make perl-core
- runs-on: ubuntu-latest
- container: ${{ matrix.zoo.image }}
- steps:
- - uses: actions/checkout@v4
- with:
- ref: ${{ matrix.branch }}
- - name: install packages
- run: ${{ matrix.zoo.install }}
- - name: config
- run: ./config
- - name: config dump
- run: ./configdata.pm --dump
- - name: make
- run: make -j4
- - name: get cpu info
- run: |
- cat /proc/cpuinfo
- ./util/opensslwrap.sh version -c
- - name: make test
- run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
- macos:
- strategy:
- fail-fast: false
- matrix:
- branch: [openssl-3.0, openssl-3.1, master]
- os: [macos-11, macos-12, macos-13, macos-14]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- with:
- ref: ${{ matrix.branch }}
- - name: checkout fuzz/corpora submodule
- run: git submodule update --init --depth 1 fuzz/corpora
- - name: config
- run: ./config --banner=Configured -Wall -Werror --strict-warnings enable-fips
- - name: config dump
- run: ./configdata.pm --dump
- - name: make
- run: make -s -j4
- - name: get cpu info
- run: |
- sysctl machdep.cpu
- ./util/opensslwrap.sh version -c
- - name: make test
- run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
- windows:
- strategy:
- fail-fast: false
- matrix:
- branch: [openssl-3.0, openssl-3.1, master]
- os: [windows-2019, windows-2022]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- with:
- ref: ${{ matrix.branch }}
- - 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
- - 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: download coreinfo
- uses: suisei-cn/actions-download-file@v1.6.0
- with:
- url: "https://download.sysinternals.com/files/Coreinfo.zip"
- target: _build/coreinfo/
- - name: get cpu info
- working-directory: _build
- run: |
- 7z.exe x coreinfo/Coreinfo.zip
- ./Coreinfo64.exe -accepteula -f
- apps/openssl.exe version -c
- - name: test
- working-directory: _build
- run: nmake test VERBOSE_FAILURE=yes HARNESS_JOBS=4
- self-hosted:
- strategy:
- matrix:
- os: [freebsd-13.2, ubuntu-arm64-22.04]
- runs-on: ${{ matrix.os }}-self-hosted
- continue-on-error: true
- steps:
- - uses: actions/checkout@v4
- - name: config
- run: ./config enable-fips enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method enable-trace
- - name: config dump
- run: ./configdata.pm --dump
- - name: make
- run: make -j4
- - name: get cpu info
- run: ./util/opensslwrap.sh version -c
- - name: make test
- run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
|