Link libcap to test executables if capabilities enabled #779
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-20.04 | |
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@v4 | |
- 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 libcap-dev 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 libcap-dev: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 | |
- 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: 'aarch64' | |
steps: | |
- uses: actions/checkout@v4 | |
# on MacOS, g++ symlinked to clang++ | |
# We must verify that | |
- name: Verify g++ (is it 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 | |
- 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-20.04 | |
container: | |
image: alpine:latest | |
strategy: | |
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests | |
matrix: | |
include: | |
- arch: 'amd64' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Getting depends | |
run: | | |
apk update | |
apk add make g++ m4 file libcap-dev | |
- 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 | |
- 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/* |