xref: /openssl/.github/workflows/os-zoo.yml (revision c6e7f427)
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
8name: OS Zoo CI
9
10on:
11  schedule:
12    - cron: '0 5 * * *'
13
14permissions:
15  contents: read
16
17jobs:
18  unix:
19    strategy:
20      fail-fast: false
21      matrix:
22        os: [
23          macos-10.15,
24          macos-11,
25          ubuntu-18.04,
26          ubuntu-20.04,
27        ]
28    runs-on: ${{ matrix.os }}
29    steps:
30    - uses: actions/checkout@v2
31    - name: config
32      run: |
33        CC=${{ matrix.zoo.cc }} ./config --banner=Configured \
34            -Wall -Werror --strict-warnings enable-fips
35    - name: config dump
36      run: ./configdata.pm --dump
37    - name: make
38      run: make -s -j4
39    - name: make test
40      run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
41  windows:
42    strategy:
43      fail-fast: false
44      matrix:
45        os: [
46          windows-2019,
47          windows-2022
48        ]
49    runs-on: ${{ matrix.os }}
50    steps:
51    - uses: actions/checkout@v2
52    - uses: ilammy/msvc-dev-cmd@v1
53    - uses: ilammy/setup-nasm@v1
54    - uses: shogo82148/actions-setup-perl@v1
55    - name: prepare the build directory
56      run: mkdir _build
57    - name: config
58      working-directory: _build
59      run: |
60        perl ..\Configure --banner=Configured no-makedepend enable-fips
61    - name: config dump
62      working-directory: _build
63      run: ./configdata.pm --dump
64    - name: build
65      working-directory: _build
66      run: nmake /S
67    - name: test
68      working-directory: _build
69      run: nmake test VERBOSE_FAILURE=yes HARNESS_JOBS=4
70