diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 1df44c4f0094b4..b713a834b704bd 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -183,3 +183,77 @@ jobs: # Disable testing for now. TBD: Need local cygwin installation to debug . # - name: Run openssl tests # run: bash -c "cd openssl && make V=1 test" + mingw: + # Run a job for each of the specified target architectures: + # copied and modified from shared. Instead of installing nasm we + # install mingw and cygwin. + # + strategy: + matrix: + os: + - windows-2022 + platform: + - arch: win64 + config: --strict-warnings enable-tests 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 + CC: gcc + steps: + - uses: actions/checkout@v4 + - uses: cygwin/cygwin-install-action@master + with: + packages: perl git make gcc-core gcc + - name: Check repo + run: cygcheck -V + - name: Full cygcheck status + run: cygcheck -s -v -r -h + - name: Install MinGW + uses: egor-tensin/setup-mingw@v2 + with: + platform: x64 + cygwin: 1 +# if I understand things right the repo got cloned by actions/checkout@v4 +# the action should place us into the OPENSSL SRC root. +# - name: Clone repo +# run: bash -c "pwd && git clone --branch master --depth 1 https://github.com/${{ github.repository }}.git" +# - uses: ilammy/msvc-dev-cmd@v1 +# with: +# arch: ${{ 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 }} mingw64 + perl configdata.pm --dump + - name: build + working-directory: _build + run: nmake /S + - name: save artifacts + uses: actions/upload-artifact@v3 + with: + name: "ci@-${{ matrix.os }}" + path: _build + if-no-files-found: ignore + retention-days: 2 + - 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 HARNESS_JOBS=4