Build: simplify specifying link flags via new LDFLAGS_BASE #325
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: Dinit Regular CI | |
on: | |
push: | |
branches: | |
- master | |
paths: | |
- '.github/workflows/regular_ci.yml' | |
- 'build/**' | |
- 'configs/**' | |
- 'dasynq/**' | |
- 'src/**' | |
- '**/Makefile' | |
- '!build/mconfig.mesontemplate' | |
- '!build/includes/README' | |
- '!**/meson.build' | |
pull_request: | |
branches: | |
- master | |
paths: | |
- '.github/workflows/regular_ci.yml' | |
- 'build/**' | |
- 'configs/**' | |
- 'dasynq/**' | |
- 'src/**' | |
- '**/Makefile' | |
- '!build/mconfig.mesontemplate' | |
- '!build/includes/README' | |
- '!**/meson.build' | |
workflow_dispatch: | |
jobs: | |
Debian-bullseye_build: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:bullseye | |
strategy: | |
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests | |
matrix: | |
include: | |
- arch: 'amd64' | |
- arch: 'i386' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Add i386 repos | |
if: ${{ matrix.arch == 'i386' }} | |
run: dpkg --add-architecture i386 | |
- name: Getting depends (amd64) | |
if: ${{ matrix.arch == 'amd64' }} | |
run: | | |
apt-get update | |
DEBIAN_FRONTEND=noninteractive apt-get install g++ make m4 file -y | |
- name: Getting depends (i386) | |
if: ${{ matrix.arch == 'i386' }} | |
run: | | |
apt-get update | |
DEBIAN_FRONTEND=noninteractive apt-get install gcc:i386 make:i386 m4:i386 g++:i386 file -y | |
- name: Print g++ architecture | |
run: g++ -dumpmachine | |
- name: Build | |
run: make | |
- name: Print dinit executive file architecture | |
run: file ./src/dinit | |
- name: Unit tests | |
run: make check | |
- name: Integration tests | |
run: make check-igr DEBUG=1 | |
- name: Upload igr-tests output file(s) on failure | |
uses: actions/[email protected] | |
if: failure() | |
with: | |
name: igr-tests_output | |
path: src/igr-tests/*/output/* | |
MacOS-latest_build: | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests | |
matrix: | |
include: | |
- arch: 'amd64' | |
steps: | |
- uses: actions/checkout@v3 | |
# on MacOS, g++ symlinked to clang++ | |
# We must verify that | |
- name: Verify g++ (it is g++ or clang++?) | |
run: g++ --version | |
- name: Print g++ architecture | |
run: g++ -dumpmachine | |
- name: Build | |
run: make | |
- name: Print dinit executive file architecture | |
run: file ./src/dinit | |
- name: Unit tests | |
run: make check | |
- name: Integration tests | |
run: make check-igr DEBUG=1 | |
- name: Upload igr-tests output file(s) on failure | |
uses: actions/[email protected] | |
if: failure() | |
with: | |
name: igr-tests_output | |
path: src/igr-tests/*/output/* | |
Alpine-latest_build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests | |
matrix: | |
include: | |
- arch: 'armv6' | |
- arch: 'armv7' | |
- arch: 'aarch64' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: uraimo/[email protected] | |
name: Getting depends & build & unit tests & integration tests | |
with: | |
arch: ${{ matrix.arch }} | |
distro: alpine_latest | |
run: | | |
apk add ncurses | |
echo "$(tput bold) !---- ${{ matrix.arch }} BUILD ----!$(tput sgr0)" | |
echo "$(tput bold) ----Getting depends---- :$(tput sgr0) apk update && apk add make g++ m4 file" | |
apk update | |
apk add make g++ m4 file | |
echo "$(tput bold) ----Print g++ arch---- :$(tput sgr0) g++ -dumpmachine" | |
g++ -dumpmachine | |
echo "$(tput bold) ----Build---- :$(tput sgr0) make" | |
make | |
echo "$(tput bold) ----Print dinit executive file architecture---- :$(tput sgr0) file ./src/dinit" | |
file ./src/dinit | |
echo "$(tput bold) ----Unit tests---- :$(tput sgr0) make check" | |
make check | |
echo "$(tput bold) ----Integration tests---- :$(tput sgr0) make check-igr DEBUG=1" | |
make check-igr DEBUG=1 | |
- name: Upload igr-tests output file(s) on failure | |
uses: actions/[email protected] | |
if: failure() | |
with: | |
name: igr-tests_output | |
path: src/igr-tests/*/output/* |