107 lines
2.9 KiB
YAML
107 lines
2.9 KiB
YAML
name: C/C++ CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
platform: [ubuntu-latest, macos-latest]
|
|
runs-on: ${{ matrix.platform }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check C99
|
|
run: make clean check -j 2 CC="cc -std=c99 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C11
|
|
working-directory: ./tests
|
|
run: make clean check -j 2 CC="cc -std=c11 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C++
|
|
working-directory: ./tests
|
|
run: make clean check -j 2 CC="c++ -std=c++11"
|
|
- name: make check against C++ STL
|
|
working-directory: ./tests
|
|
run: make clean check-stl -j 2
|
|
|
|
build_linux32:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: update package list
|
|
run: sudo apt-get update
|
|
- name: install multilib
|
|
run: sudo apt-get install gcc-multilib g++-multilib
|
|
- name: make check C99 (32bits)
|
|
working-directory: ./tests
|
|
run: make clean check CC="gcc -m32 -std=c99 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C11 (32bits)
|
|
working-directory: ./tests
|
|
run: make clean check CC="gcc -m32 -std=c11 -Wno-unknown-warning-option -Werror"
|
|
- name: make check C++ (32 bits)
|
|
working-directory: ./tests
|
|
run: make clean check CC="g++ -m32 -std=c++11 -Wno-unknown-warning-option "
|
|
|
|
build_linux_tcc:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Clone TCC
|
|
shell: bash
|
|
run: git clone https://repo.or.cz/tinycc.git
|
|
- name: Configure, build & install TCC
|
|
shell: bash
|
|
run: cd tinycc && ./configure --prefix=/tmp/tcc && make && make install
|
|
- name: make depend
|
|
shell: bash
|
|
run: make depend
|
|
- name: make check
|
|
shell: bash
|
|
run: make CC="/tmp/tcc/bin/tcc -std=c99" check
|
|
|
|
build_windows_mingw:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: bash
|
|
run: mingw32-make CC="gcc -std=c99 -D__USE_MINGW_ANSI_STDIO=1" check
|
|
|
|
build_windows_msys2:
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MINGW64
|
|
update: true
|
|
install: git mingw-w64-x86_64-toolchain make
|
|
- name: make check
|
|
run: make CC="gcc -std=c99 -D__USE_MINGW_ANSI_STDIO=1" check
|
|
|
|
build_windows_visual:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: cmd
|
|
working-directory: ./tests
|
|
run: Make-check-cl.bat cl
|
|
|
|
build_windows_clang_cl:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: make check
|
|
shell: cmd
|
|
working-directory: ./tests
|
|
run: Make-check-cl.bat clang-cl
|
|
|