Skip to content

Default to service dir as working directory for services #338

Default to service dir as working directory for services

Default to service dir as working directory for services #338

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-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@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 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@v4
# 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@v4
- 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/*