Skip to content

Commit

Permalink
Modify ci os-zoo, support more os
Browse files Browse the repository at this point in the history
Support more OS, including alpine, debian(10, 11, 12),
ubuntu(20.04, 22.04), fedora(38, 39), centos(8), rockylinux(8, 9),
macos(12, 13, 14), windows(2019, 2022).
  • Loading branch information
dongbeiouba committed Jul 29, 2024
1 parent e931fea commit da08681
Showing 1 changed file with 118 additions and 20 deletions.
138 changes: 118 additions & 20 deletions .github/workflows/os-zoo.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
# 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
Expand All @@ -11,56 +11,154 @@ on:
schedule:
- cron: '0 5 * * *'

permissions:
contents: read

jobs:
unix:
alpine:
strategy:
fail-fast: false
matrix:
os: [
macos-10.15,
macos-11,
ubuntu-18.04,
ubuntu-20.04,
]
runs-on: ${{ matrix.os }}
tag: [edge, latest]
cc: [gcc, clang]
branch: [8.3-stable, 8.4-stable, 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:
- uses: actions/checkout@v2
- 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: |
CC=${{ matrix.zoo.cc }} ./config --banner=Configured \
-Wall -Werror --strict-warnings enable-fips
./config --banner=Configured no-shared -Wall -Werror enable-ntls --strict-warnings \
${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: [8.3-stable, 8.4-stable, 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: [8.3-stable, 8.4-stable, master]
os: [macos-12, macos-13, macos-14]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: config
run: ./config --banner=Configured -Wall -Werror --strict-warnings enable-ntls
- 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:
os: [
windows-2019,
windows-2022
]
branch: [8.3-stable, 8.4-stable, master]
os: [windows-2019, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- 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
run: perl ..\Configure --banner=Configured no-makedepend enable-ntls
- name: config dump
working-directory: _build
run: ./configdata.pm --dump
- name: build
working-directory: _build
run: nmake /S
- name: download coreinfo
uses: suisei-cn/[email protected]
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

0 comments on commit da08681

Please sign in to comment.