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 CC="cc -std=c99 -Wno-unknown-warning-option -Werror" - name: make check C11 working-directory: ./tests run: make clean check CC="cc -std=c11 -Wno-unknown-warning-option -Werror" - name: make check C++ working-directory: ./tests run: make clean check CC="c++ -std=c++11" 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