Skip to content

CI: bump actions/checkout from 3 to 4 #202

CI: bump actions/checkout from 3 to 4

CI: bump actions/checkout from 3 to 4 #202

Workflow file for this run

## This Workflow will run when a PR has "meson" label or when something pushed to master.
name: Dinit Meson based CI
on:
push:
branches:
- master
paths:
- '.github/workflows/meson_ci.yml'
- 'build/version.conf'
- 'build/mconfig.mesontemplate'
- 'configs/**'
- 'dasynq/**'
- 'src/**'
- '**/meson.build'
- 'meson_options.txt'
- '!**/Makefile'
pull_request:
types:
- labeled
- opened
- reopened
- synchronize
branches:
- master
paths:
- '.github/workflows/meson_ci.yml'
- 'build/version.conf'
- 'build/mconfig.mesontemplate'
- 'configs/**'
- 'dasynq/**'
- 'src/**'
- '**/meson.build'
- 'meson_options.txt'
- '!**/Makefile'
workflow_dispatch:
jobs:
Debian-bullseye_build:
if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'meson') }}
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++ meson m4 -y
- name: Getting depends (i386)
if: ${{ matrix.arch == 'i386' }}
run: |
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install meson m4:i386 g++:i386 -y
- name: Setup
run: meson setup -Dunit-tests=true -Digr-tests=true dirbuild
- name: Build
run: meson compile -C dirbuild
- name: Unit tests
run: meson test -v --suite=unit_tests -C dirbuild
- name: Integration tests
run: meson test -v --suite=igr_tests -C dirbuild
- name: Upload igr-tests output file(s) on failure
uses: actions/[email protected]
if: failure()
with:
name: igr-tests_output
path: dirbuild/src/igr-tests/*/output/*
MacOS-latest_build:
if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'meson') }}
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
- name: Install meson via pip3
run: pip3 install meson
- name: Install ninja
run: brew install ninja
- name: Setup
run: meson setup -Dunit-tests=true -Digr-tests=true dirbuild
- name: Build
run: meson compile -C dirbuild
- name: Unit tests
run: meson test -v --suite=unit_tests -C dirbuild
- name: Integration tests
run: meson test -v --suite=igr_tests -C dirbuild
- name: Upload igr-tests output file(s) on failure
uses: actions/[email protected]
if: failure()
with:
name: igr-tests_output
path: dirbuild/src/igr-tests/*/output/*
Alpine-latest_build:
if: ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'meson') }}
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 & setup & build & unit & 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 meson g++ m4"
apk update
apk add meson g++ m4
echo "$(tput bold) ----Setup---- :$(tput sgr0) meson setup -Dunit-tests=true -Digr-tests=true dirbuild"
meson setup -Dunit-tests=true -Digr-tests=true dirbuild
echo "$(tput bold) ----Build---- :$(tput sgr0) meson compile -C dirbuild"
meson compile -C dirbuild
echo "$(tput bold) ----Unit tests---- :$(tput sgr0) meson test -v --suite=unit_tests -C dirbuild"
meson test -v --suite=unit_tests -C dirbuild
echo "$(tput bold) ----Integration tests---- :$(tput sgr0) meson test -v --suite=igr_tests -C dirbuild"
meson test -v --suite=igr_tests -C dirbuild
- name: Upload igr-tests output file(s) on failure
uses: actions/[email protected]
if: failure()
with:
name: igr-tests_output
path: dirbuild/src/igr-tests/*/output/*