openssl/.github/workflows/windows.yml

106 lines
3.0 KiB
YAML

# 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: Windows GitHub CI
on: [pull_request, push]
permissions:
contents: read
jobs:
shared:
# Run a job for each of the specified target architectures:
strategy:
matrix:
os:
- windows-2019
- windows-2022
platform:
- arch: win64
config: enable-fips
- arch: win32
config: --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 }}
- 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 ${{ 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-2019
- windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@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 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-2019
- windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@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 no-bulk no-deprecated no-fips no-asm -DOPENSSL_SMALL_FOOTPRINT
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