Skip to content

Api external notifications #58

Api external notifications

Api external notifications #58

Workflow file for this run

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2023 Robin Jarry
---
name: Check
permissions:
contents: read
on:
workflow_call:
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build-and-tests:
runs-on: ubuntu-24.04
env:
SANITIZE: address
BUILDTYPE: debugoptimized
MESON_EXTRA_OPTS: "-Ddpdk:platform=generic"
DEBIAN_FRONTEND: noninteractive
NEEDRESTART_MODE: l
CC: gcc-14
steps:
- name: install system dependencies
run: |
set -xe
sudo apt-get update -qy
sudo apt-get install -qy --no-install-recommends \
make gcc ninja-build meson git scdoc libibverbs-dev \
libasan8 libcmocka-dev libedit-dev libarchive-dev \
libevent-dev libsmartcols-dev libnuma-dev python3-pyelftools \
socat tcpdump traceroute graphviz iproute2 iputils-ping ndisc6
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0 # force fetch all history
- run: git config --global --add safe.directory $PWD
- run: git rebase -x "git --no-pager log --oneline -1 && make all unit-tests && sudo smoke/run.sh build" "${{ github.event.pull_request.base.sha }}"
if: ${{ github.event.pull_request.base.sha }}
- run: make all unit-tests && sudo smoke/run.sh build
if: ${{ ! github.event.pull_request.base.sha }}
build-cross-aarch64:
runs-on: ubuntu-24.04
container: debian:testing
env:
MESON_EXTRA_OPTS: --cross-file=devtools/cross/aarch64.ini
DEBIAN_FRONTEND: noninteractive
NEEDRESTART_MODE: l
steps:
- name: install system dependencies
run: |
set -xe
dpkg --add-architecture arm64
apt update -qy
apt install -qy --no-install-recommends \
make gcc git meson scdoc python3-pyelftools ca-certificates pkg-config \
crossbuild-essential-arm64 libcmocka-dev:arm64 libedit-dev:arm64 \
libevent-dev:arm64 libnuma-dev:arm64 libsmartcols-dev:arm64
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0 # force fetch all history
- run: git config --global --add safe.directory $PWD
- run: git rebase -x "git --no-pager log --oneline -1 && make" "${{ github.event.pull_request.base.sha }}"
if: ${{ github.event.pull_request.base.sha }}
- run: make
if: ${{ ! github.event.pull_request.base.sha }}
lint:
runs-on: ubuntu-24.04
container: fedora:latest
steps:
- run: dnf install -y make clang-tools-extra git jq curl codespell
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0 # force fetch all history
- run: git config --global --add safe.directory $PWD
- run: git rebase -x "git --no-pager log --oneline -1 && make lint" "${{ github.event.pull_request.base.sha }}"
if: ${{ github.event.pull_request.base.sha }}
- run: make lint
if: ${{ ! github.event.pull_request.base.sha }}
commits:
runs-on: ubuntu-24.04
if: ${{ github.event.pull_request.base.sha && github.event.pull_request.head.sha }}
container: fedora:latest
env:
REVISION_RANGE: "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}"
steps:
- run: dnf install -y make git jq curl codespell
- uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0 # force fetch all history
- run: git config --global --add safe.directory $PWD
- run: make check-patches