Fix compiler used by "Build and tests" action (#292)

* Make sure the build workflow actually uses the chosen compiler.

Also clean up the repetitive nature of the workflow by defining the word
size as another matrix axis and making iso the default target.

Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>

* Disabled clang as a compiler alongside gcc.

The state of the current makefiles/source code is not compatible with
clang, so it makes no sense to try to build with it.

Signed-off-by: Kimon Hoffmann <Kimon.Hoffmann@lawo.com>
This commit is contained in:
Kimon Hoffmann 2023-05-12 15:46:52 +02:00 committed by GitHub
parent 7aeac7271f
commit acea409a51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 31 deletions

View File

@ -13,14 +13,15 @@ on:
jobs: jobs:
build: build:
name: ${{ matrix.os }} ${{ matrix.compiler }} name: ${{ matrix.os }} ${{ matrix.compiler }} ${{ matrix.wordsize }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
compiler: [gcc, clang] compiler: [gcc]
os: [ubuntu-20.04, ubuntu-22.04] os: [ubuntu-20.04, ubuntu-22.04]
wordsize: [32, 64]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -30,34 +31,10 @@ jobs:
- name: Install Linux Dependencies - name: Install Linux Dependencies
run: sudo apt-get install build-essential gcc-multilib clang libc6-dev-i386-cross dosfstools mtools xorriso -y run: sudo apt-get install build-essential gcc-multilib clang libc6-dev-i386-cross dosfstools mtools xorriso -y
- name: Make all build32 - name: Clean up
env: working-directory: ./build${{matrix.wordsize}}
C: ${{matrix.compiler}}
working-directory: ./build32
run: make -j 2 all
- name: Make clean build32
working-directory: ./build32
run: make clean run: make clean
- name: Make all build64 - name: Build
env: working-directory: ./build${{matrix.wordsize}}
C: ${{matrix.compiler}} run: make -j 2 CC="${{matrix.compiler}}" iso
working-directory: ./build64
run: make -j 2 all
- name: Make clean build64
working-directory: ./build64
run: make clean
- name: Make iso build32
env:
C: ${{matrix.compiler}}
working-directory: ./build32
run: make -j 2 iso
- name: Make iso build64
env:
C: ${{matrix.compiler}}
working-directory: ./build64
run: make -j 2 iso