here we go again #501
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: GCC C/C++ standards check | |
on: | |
- push | |
- pull_request | |
jobs: | |
build: | |
name: ${{ matrix.c }} & ${{ matrix.cpp }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}-${{ | |
matrix.c }}-${{ matrix.cpp }} | |
cancel-in-progress: true | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
include: | |
- c: gnu99 | |
cpp: c++11 | |
- c: gnu11 | |
cpp: c++11 | |
- c: gnu11 | |
cpp: c++14 | |
- c: gnu17 | |
cpp: c++17 | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Get dependencies | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y wget git gawk findutils | |
xargs -a <(awk '! /^ *(#|$)/' ".github/workflows/apt.txt") -r -- \ | |
sudo apt-get install -y --no-install-recommends --no-install-suggests | |
- name: Create installation directory | |
run: | | |
mkdir $HOME/install | |
- name: Ensure one core for compilation | |
run: | | |
echo "MAKEFLAGS=-j1" >> $GITHUB_ENV | |
- name: Set LD_LIBRARY_PATH for compilation | |
run: | | |
echo "LD_LIBRARY_PATH=$HOME/install/lib" >> $GITHUB_ENV | |
- name: Print build environment variables | |
shell: bash -el {0} | |
run: | | |
printenv | sort | |
gcc --version | |
ldd --version | |
- name: Build | |
env: | |
# TODO: -pedantic-errors here won't go through ./configure (with GNU C) | |
CFLAGS: -std=${{ matrix.c }} -fPIC -Wall -Wextra | |
# TODO: -pedantic-errors here won't compile | |
CXXFLAGS: -std=${{ matrix.cpp }} -fPIC -Wall -Wextra | |
# CPPFLAGS: -isystem/usr/include | |
run: .github/workflows/build_ubuntu-22.04.sh $HOME/install -Wpedantic |