# Copyright 2021-2022 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@v3 - 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@v3 - 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@v3 - 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