mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-01-26 22:42:20 +01:00
89 lines
3.1 KiB
YAML
89 lines
3.1 KiB
YAML
name: Build Watcom C
|
|
|
|
# START OF COMMON SECTION
|
|
on:
|
|
push:
|
|
branches: [ 'master', 'main', 'release/**' ]
|
|
pull_request:
|
|
branches: [ '*' ]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
# END OF COMMON SECTION
|
|
|
|
jobs:
|
|
wolfssl_watcomc_windows:
|
|
if: github.repository_owner == 'wolfssl'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
common:
|
|
- cmake: '-G "Watcom WMake" -DCMAKE_VERBOSE_MAKEFILE=TRUE -DWOLFSSL_ASM=no -DWOLFSSL_EXAMPLES=no -DWOLFSSL_CRYPT_TESTS=no'
|
|
platform:
|
|
- title: 'Windows OW 2.0'
|
|
system: 'Windows'
|
|
image: 'windows-latest'
|
|
owimage: '2.0'
|
|
id: 'win32ow20'
|
|
cmake: '-DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=x86'
|
|
- title: 'Linux OW 2.0'
|
|
system: 'Linux'
|
|
image: 'ubuntu-latest'
|
|
owimage: '2.0'
|
|
id: 'linuxow20'
|
|
cmake: '-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=x86'
|
|
- title: 'OS/2 OW 2.0'
|
|
system: 'OS2'
|
|
image: 'windows-latest'
|
|
owimage: '2.0'
|
|
id: 'os2ow20'
|
|
cmake: '-DCMAKE_SYSTEM_NAME=OS2 -DCMAKE_SYSTEM_PROCESSOR=x86'
|
|
thread:
|
|
- id: 'multi'
|
|
cmake: ''
|
|
owcmake: '-DCMAKE_POLICY_DEFAULT_CMP0136=NEW -DCMAKE_WATCOM_RUNTIME_LIBRARY=MultiThreaded'
|
|
- id: 'single'
|
|
cmake: '-DWOLFSSL_SINGLE_THREADED=yes'
|
|
owcmake: '-DCMAKE_POLICY_DEFAULT_CMP0136=NEW -DCMAKE_WATCOM_RUNTIME_LIBRARY=SingleThreaded'
|
|
library:
|
|
- id: 'dll'
|
|
cmake: ''
|
|
owcmake: 'DLL'
|
|
- id: 'static'
|
|
cmake: '-DBUILD_SHARED_LIBS=no'
|
|
owcmake: ''
|
|
exclude:
|
|
- { platform: { system: 'Linux' }, library: { id: 'dll' } }
|
|
runs-on: ${{ matrix.platform.image }}
|
|
name: ${{ matrix.platform.title }} (${{ matrix.thread.id }} ${{ matrix.library.id }})
|
|
steps:
|
|
- name: Setup Open Watcom ${{ matrix.platform.owimage }}
|
|
uses: open-watcom/setup-watcom@v0
|
|
with:
|
|
version: ${{ matrix.platform.owimage }}
|
|
# Currently fixed to a monthly build because of historical instability with daily releases.
|
|
# See https://github.com/wolfSSL/wolfssl/pull/9167
|
|
# Pin to monthly release as needed:
|
|
tag: 2025-11-03-Build
|
|
|
|
- name: Checkout wolfSSL
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: wolfssl
|
|
|
|
- name: Build wolfSSL
|
|
working-directory: wolfssl
|
|
shell: bash
|
|
run: |
|
|
cmake -B build ${{matrix.common.cmake}} ${{ matrix.platform.cmake }} ${{ matrix.thread.cmake }} ${{ matrix.library.cmake }} ${{ matrix.thread.owcmake }}${{ matrix.library.owcmake }}
|
|
cmake --build build
|
|
|
|
- name: Upload build errors
|
|
if: failure()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ matrix.platform.id }}-${{ matrix.thread.id }}-${{ matrix.library.id }}
|
|
path: |
|
|
build/**
|