123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- name: Windows GitHub CI
- on: [pull_request, push]
- permissions:
- contents: read
- jobs:
- shared:
-
- strategy:
- matrix:
- os:
- - windows-2019
- - windows-2022
- platform:
- - arch: win64
- config: enable-fips
- - arch: win32
- config: --strict-warnings no-fips
- runs-on: ${{ github.server_url == 'https://github.com' && matrix.os || format('{0}-self-hosted', matrix.os) }}
- steps:
- - uses: actions/checkout@v4
- - name: checkout fuzz/corpora submodule
- run: git submodule update --init --depth 1 fuzz/corpora
- - 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: download coreinfo
- uses: suisei-cn/actions-download-file@v1.6.0
- with:
- url: "https://download.sysinternals.com/files/Coreinfo.zip"
- target: _build/coreinfo/
- - name: get cpu info
- working-directory: _build
- continue-on-error: true
- run: |
- 7z.exe x coreinfo/Coreinfo.zip
- ./Coreinfo64.exe -accepteula -f
- ./apps/openssl.exe version -c
- - name: Check platform symbol usage
- working-directory: _build
- run: perl ../util/checkplatformsyms.pl ../util/platform_symbols/windows-symbols.txt libcrypto-3-x64.dll ./libssl-3-x64.dll
- - name: test
- working-directory: _build
- run: nmake test VERBOSE_FAILURE=yes TESTS=-test_fuzz* HARNESS_JOBS=4
- - name: install
-
- 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: ${{ github.server_url == 'https://github.com' && matrix.os || format('{0}-self-hosted', matrix.os) }}
- steps:
- - uses: actions/checkout@v4
- - name: checkout fuzz/corpora submodule
- run: git submodule update --init --depth 1 fuzz/corpora
- - uses: ilammy/msvc-dev-cmd@v1
- - name: prepare the build directory
- run: mkdir _build
- - name: config
- working-directory: _build
- run: |
- perl ..\Configure --banner=Configured enable-demos no-makedepend no-shared no-fips enable-md2 enable-rc5 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-trace enable-crypto-mdebug VC-WIN64A-masm
- perl configdata.pm --dump
- - name: build
- working-directory: _build
- run: nmake /S
- - name: download coreinfo
- uses: suisei-cn/actions-download-file@v1.6.0
- with:
- url: "https://download.sysinternals.com/files/Coreinfo.zip"
- target: _build/coreinfo/
- - name: get cpu info
- working-directory: _build
- continue-on-error: true
- 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
- minimal:
- strategy:
- matrix:
- os:
- - windows-2019
- - windows-2022
- runs-on: ${{ github.server_url == 'https://github.com' && matrix.os || format('{0}-self-hosted', matrix.os) }}
- steps:
- - uses: actions/checkout@v4
- - name: checkout fuzz/corpora submodule
- run: git submodule update --init --depth 1 fuzz/corpora
- - uses: ilammy/msvc-dev-cmd@v1
- - name: prepare the build directory
- run: mkdir _build
- - name: config
- working-directory: _build
- run: |
- perl ..\Configure --banner=Configured enable-demos no-makedepend no-bulk no-deprecated no-fips no-asm no-threads -DOPENSSL_SMALL_FOOTPRINT
- perl configdata.pm --dump
- - name: build
- working-directory: _build
- run: nmake
- - name: download coreinfo
- uses: suisei-cn/actions-download-file@v1.6.0
- with:
- url: "https://download.sysinternals.com/files/Coreinfo.zip"
- target: _build/coreinfo/
- - name: get cpu info
- working-directory: _build
- continue-on-error: true
- 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 TESTS=-test_fuzz* HARNESS_JOBS=4
- cygwin:
-
- strategy:
- matrix:
- os:
- - windows-2019
- platform:
- - arch: win64
- config: -DCMAKE_C_COMPILER=gcc --strict-warnings enable-demos no-fips
- runs-on: ${{ github.server_url == 'https://github.com' && matrix.os || format('{0}-self-hosted', matrix.os) }}
- env:
- CYGWIN_NOWINPATH: 1
- SHELLOPTS: igncr
- MAKE_PARAMS: -j 4
- steps:
- - uses: actions/checkout@v4
- - uses: cygwin/cygwin-install-action@master
- with:
- packages: perl git make gcc-core
- - name: Check repo
- run: cygcheck -V
- - name: Full cygcheck status
- run: cygcheck -s -v -r -h
- - name: Full build
- run: bash -c "gcc --version && ./config ${{ matrix.platform.config }} && make $MAKE_PARAMS"
|