Skip to content

Commit

Permalink
everything
Browse files Browse the repository at this point in the history
  • Loading branch information
pmqs committed Feb 7, 2024
1 parent 3e20923 commit abcc137
Showing 1 changed file with 93 additions and 77 deletions.
170 changes: 93 additions & 77 deletions .github/workflows/c-std.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,83 +7,99 @@ on:

jobs:

# main:
# name: ${{ matrix.os }} + ${{ matrix.compiler }} + ${{ matrix.builder }} -std=${{ matrix.std }}
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-latest
# - macos-latest

# compiler:
# - gcc
# - clang

# builder:
# - configure
# - cmake

# std:
# - c89
# - gnu89
# # c94 is iso9899:199409 for both gcc & clang
# - iso9899:199409
# - c99
# - gnu99
# - c11
# - gnu11
# - c17
# - gnu17
# - c2x
# - gnu2x

# steps:

# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# show-progress: 'false'

# - name: Install packages (Ubuntu)
# if: matrix.os == 'ubuntu-latest'
# run: |
# sudo apt-get update

# - name: Generate project files (configure)
# if: matrix.builder == 'configure'
# run: |
# ./configure
# env:
# CC: ${{ matrix.compiler }}
# CFLAGS: -std=${{ matrix.std }} -Werror

# - name: Compile source code (configure)
# if: matrix.builder == 'configure'
# run: make -j2

# - name: Run test cases (configure)
# if: matrix.builder == 'configure'
# run: |
# make test
# make cover

# - name: Generate project files (cmake)
# if: matrix.builder == 'cmake'
# run: |
# cmake -S . -B . -D CMAKE_BUILD_TYPE=Release -D ZLIB_BUILD_EXAMPLES=OFF
# env:
# CC: ${{ matrix.compiler }}
# CFLAGS: -std=${{ matrix.std }} -Werror

# - name: Compile source code (cmake)
# if: matrix.builder == 'cmake'
# run: cmake --build . --config Release

# - name: Run test cases (cmake)
# if: matrix.builder == 'cmake'
# run: ctest -C Release --output-on-failure --max-width 120
main:
name: ${{ matrix.os }} + ${{ matrix.compiler }} ${{ matrix.arch.name }} + ${{ matrix.builder }} -std=${{ matrix.std.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest

compiler:
- gcc
- clang

arch:
- name: 64-bit
value: -m64
- name: 32-bit
value: -m32

builder:
- configure
- cmake

std:
- name: c89
value: c89
- name: gnu89
value: gnu89
- name: c94
value: iso9899:199409
- name: c99
value: c99
- name: gnu99
value: gnu99
- name: c11
value: c11
- name: gnu11
value: gni11
- name: c17
value: c17
- name: gnu17
value: gnu17
- name: c2x
value: c2x
- name: gnu2x
value: gnu2x

steps:

- name: Checkout repository
uses: actions/checkout@v4
with:
show-progress: 'false'

- name: Install packages (Ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
- name: Generate project files (configure)
if: matrix.builder == 'configure'
run: |
./configure
env:
CC: ${{ matrix.compiler }}
CFLAGS: -std=${{ matrix.std.value }} ${{ matrix.arch.value }} -Werror

- name: Compile source code (configure)
if: matrix.builder == 'configure'
run: make -j2

- name: Run test cases (configure)
if: matrix.builder == 'configure'
run: |
make test
make cover
- name: Generate project files (cmake)
if: matrix.builder == 'cmake'
run: |
cmake -S . -B . -D CMAKE_BUILD_TYPE=Release -D ZLIB_BUILD_EXAMPLES=OFF
env:
CC: ${{ matrix.compiler }}
CFLAGS: -std=${{ matrix.std.value }} ${{ matrix.arch.value }} -Werror

- name: Compile source code (cmake)
if: matrix.builder == 'cmake'
run: cmake --build . --config Release

- name: Run test cases (cmake)
if: matrix.builder == 'cmake'
run: ctest -C Release --output-on-failure --max-width 120


msvc:
Expand Down

0 comments on commit abcc137

Please sign in to comment.