123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- name: Dinit Regular CI
- on:
- push:
- branches:
- - master
- paths:
- - '**'
- - '!.*'
- - '!README.md'
- - '!NEWS'
- - '!BUILD*'
- - '!CONTRIBUTORS'
- - '!TODO'
- - '!LICENSE'
- - '!build/includes/README'
- - '!doc/CODE-STYLE'
- - '!doc/COMPARISON'
- - '!doc/CONTRIBUTING'
- - '!doc/DESIGN'
- - '!doc/getting_started.md'
- - '!doc/manpages/README'
- - '!doc/manpages/generate-html.sh'
- - '!doc/manpages/DINIT-AS-INIT.md'
- - '!doc/linux/**'
- pull_request:
- branches:
- - master
- paths:
- - '**'
- - '!.*'
- - '!README.md'
- - '!NEWS'
- - '!BUILD*'
- - '!CONTRIBUTORS'
- - '!TODO'
- - '!LICENSE'
- - '!build/includes/README'
- - '!doc/CODE-STYLE'
- - '!doc/COMPARISON'
- - '!doc/CONTRIBUTING'
- - '!doc/DESIGN'
- - '!doc/getting_started.md'
- - '!doc/manpages/README'
- - '!doc/manpages/generate-html.sh'
- - '!doc/manpages/DINIT-AS-INIT.md'
- - '!doc/linux/**'
- workflow_dispatch:
- jobs:
- Debian-bullseye_build:
- runs-on: ubuntu-latest
- container:
- image: debian:bullseye
- strategy:
- 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
- apt-get install g++ make m4 file -y
- - name: Getting depends (i386)
- if: ${{ matrix.arch == 'i386' }}
- run: |
- apt-get update
- 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
- MacOS-latest_build:
- runs-on: macos-latest
- strategy:
- 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
- Alpine-latest_build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- include:
- - arch: 'armv6'
- - arch: 'armv7'
- - arch: 'aarch64'
- steps:
- - uses: actions/checkout@v3
- - uses: uraimo/run-on-arch-action@v2.3.0
- 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"
- make check-igr
|