Skip to content

Link libcap to test executables if capabilities enabled #779

Link libcap to test executables if capabilities enabled

Link libcap to test executables if capabilities enabled #779

Workflow file for this run

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/*