openssl/.github/workflows/windows.yml
Richard Levitte 25eeab019c Windows GitHub CI: Introduce --strict-warnings
This involves making a more comprehensive matrix for the different
architectures we build for.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15709)
2021-06-12 14:41:51 +10:00

93 lines
2.6 KiB
YAML

name: Windows GitHub CI
on: [pull_request, push]
jobs:
shared:
# Run a job for each of the specified target architectures:
strategy:
matrix:
os:
- windows-latest
- windows-2016
platform:
- arch: win64
config: VC-WIN64A enable-fips
- arch: win32
config: VC-WIN32 --strict-warnings no-fips
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.platform.arch }}
- uses: ilammy/setup-nasm@v1
with:
platform: ${{ matrix.platform.arch }}
- name: prepare the build directory
run: mkdir _build
- name: config
working-directory: _build
run: |
perl ..\Configure --banner=Configured no-makedepend ${{ matrix.platform.config }}
perl configdata.pm --dump
- name: build
working-directory: _build
run: nmake /S
- name: test
working-directory: _build
run: nmake test VERBOSE_FAILURE=yes TESTS=-test_fuzz* HARNESS_JOBS=4
- name: install
# Run on 64 bit only as 32 bit is slow enough already
if: $${{ matrix.platform.arch == 'win64' }}
run: |
mkdir _dest
nmake install DESTDIR=_dest
working-directory: _build
plain:
strategy:
matrix:
os:
- windows-latest
- windows-2016
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
- name: prepare the build directory
run: mkdir _build
- name: config
working-directory: _build
run: |
perl ..\Configure --banner=Configured no-makedepend no-shared no-fips VC-WIN64A-masm
perl 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
minimal:
strategy:
matrix:
os:
- windows-latest
- windows-2016
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
- name: prepare the build directory
run: mkdir _build
- name: config
working-directory: _build
run: |
perl ..\Configure --banner=Configured no-makedepend no-bulk no-deprecated no-fips no-asm -DOPENSSL_SMALL_FOOTPRINT VC-WIN64A
perl configdata.pm --dump
- name: build
working-directory: _build
run: nmake # verbose, so no /S here
- name: test
working-directory: _build
run: nmake test VERBOSE_FAILURE=yes TESTS=-test_fuzz* HARNESS_JOBS=4