mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-28 04:00:09 +01:00
122 lines
3 KiB
YAML
122 lines
3 KiB
YAML
name: Continuous Integration
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
|
|
jobs:
|
|
ci:
|
|
name: CI with Default Configuration
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
#
|
|
# Prepare CI
|
|
#
|
|
# We cannot use the github-action of the `ci-c-util` project, because we
|
|
# need privileges in the container. Therefore, fetch the CI sources and
|
|
# build the container manually.
|
|
#
|
|
- name: Fetch CI
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: c-util/automation
|
|
ref: v1
|
|
path: automation
|
|
- name: Build CI
|
|
working-directory: automation/src/ci-c-util
|
|
run: docker build --tag ci-c-util:v1 .
|
|
|
|
#
|
|
# Run CI
|
|
#
|
|
# Take the CI image we built and run the CI with the default project
|
|
# configuration. We do not use valgrind, since it falls-over with bpf(2)
|
|
# syscalls.
|
|
#
|
|
- name: Fetch Sources
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: source
|
|
- name: Run through C-Util CI
|
|
run: |
|
|
docker run \
|
|
--privileged \
|
|
-v "$(pwd)/source:/github/workspace" \
|
|
"ci-c-util:v1" \
|
|
"--m32=1" \
|
|
"--source=/github/workspace"
|
|
|
|
ci-no-ebpf:
|
|
name: CI without eBPF
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
# See above in 'ci' job.
|
|
- name: Fetch CI
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: c-util/automation
|
|
ref: v1
|
|
path: automation
|
|
- name: Build CI
|
|
working-directory: automation/src/ci-c-util
|
|
run: docker build --tag ci-c-util:v1 .
|
|
|
|
#
|
|
# Run CI
|
|
#
|
|
# This again runs the CI, but this time disables eBPF. We do support the
|
|
# legacy BPF fallback, so lets make sure we test for it.
|
|
#
|
|
- name: Fetch Sources
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: source
|
|
- name: Run through C-Util CI
|
|
run: |
|
|
docker run \
|
|
--privileged \
|
|
-v "$(pwd)/source:/github/workspace" \
|
|
"ci-c-util:v1" \
|
|
"--m32=1" \
|
|
"--mesonargs=-Debpf=false" \
|
|
"--source=/github/workspace"
|
|
|
|
ci-valgrind:
|
|
name: CI through Valgrind
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
# See above in 'ci' job.
|
|
- name: Fetch CI
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: c-util/automation
|
|
ref: v1
|
|
path: automation
|
|
- name: Build CI
|
|
working-directory: automation/src/ci-c-util
|
|
run: docker build --tag ci-c-util:v1 .
|
|
|
|
#
|
|
# Run CI
|
|
#
|
|
# This again runs the CI, but this time through valgrind. Since some
|
|
# syscalls are not implemented on x86-64 32bit compat (e.g., bpf(2)), we
|
|
# disable the m32 mode.
|
|
#
|
|
- name: Fetch Sources
|
|
uses: actions/checkout@v2
|
|
with:
|
|
path: source
|
|
- name: Run through C-Util CI
|
|
run: |
|
|
docker run \
|
|
--privileged \
|
|
-v "$(pwd)/source:/github/workspace" \
|
|
"ci-c-util:v1" \
|
|
"--source=/github/workspace" \
|
|
"--valgrind=1"
|