285 lines
8.3 KiB
Diff
285 lines
8.3 KiB
Diff
|
From b3c617b8d0fb95322e203842d2ac68593a4acdcd Mon Sep 17 00:00:00 2001
|
||
|
From: Frantisek Sumsal <frantisek@sumsal.cz>
|
||
|
Date: Sun, 18 Apr 2021 20:46:06 +0200
|
||
|
Subject: [PATCH] ci: drop CIs irrelevant for downstream
|
||
|
|
||
|
* CIFuzz would need a separate project in oss-fuzz
|
||
|
* Coverity would also need a separate project
|
||
|
* the Labeler action is superfluous, since we already have a bot for
|
||
|
that
|
||
|
* mkosi testing on other distros is irrelevant for downstream RHEL
|
||
|
repo
|
||
|
|
||
|
Resolves: #1960703
|
||
|
rhel-only
|
||
|
---
|
||
|
.github/labeler.yml | 38 ------------------
|
||
|
.github/workflows/cifuzz.yml | 47 ----------------------
|
||
|
.github/workflows/coverity.yml | 39 -------------------
|
||
|
.github/workflows/labeler.yml | 13 -------
|
||
|
.github/workflows/mkosi.yml | 58 ----------------------------
|
||
|
.github/workflows/test_mkosi_boot.py | 24 ------------
|
||
|
6 files changed, 219 deletions(-)
|
||
|
delete mode 100644 .github/labeler.yml
|
||
|
delete mode 100644 .github/workflows/cifuzz.yml
|
||
|
delete mode 100644 .github/workflows/coverity.yml
|
||
|
delete mode 100644 .github/workflows/labeler.yml
|
||
|
delete mode 100644 .github/workflows/mkosi.yml
|
||
|
delete mode 100755 .github/workflows/test_mkosi_boot.py
|
||
|
|
||
|
diff --git a/.github/labeler.yml b/.github/labeler.yml
|
||
|
deleted file mode 100644
|
||
|
index 773d575004..0000000000
|
||
|
--- a/.github/labeler.yml
|
||
|
+++ /dev/null
|
||
|
@@ -1,38 +0,0 @@
|
||
|
-hwdb:
|
||
|
- - hwdb.d/**/*
|
||
|
-units:
|
||
|
- - units/**/*
|
||
|
-documentation:
|
||
|
- - NEWS
|
||
|
- - docs/*
|
||
|
-network:
|
||
|
- - src/libsystemd-network/**/*
|
||
|
- - src/network/**/*
|
||
|
-udev:
|
||
|
- - src/udev/**/*
|
||
|
- - src/libudev/*
|
||
|
-selinux:
|
||
|
- - '**/*selinux*'
|
||
|
-apparmor:
|
||
|
- - '**/*apparmor*'
|
||
|
-meson:
|
||
|
- - meson_option.txt
|
||
|
-mkosi:
|
||
|
- - .mkosi/*
|
||
|
- - mkosi.build
|
||
|
-busctl:
|
||
|
- - src/busctl/*
|
||
|
-systemctl:
|
||
|
- - src/systemctl/*
|
||
|
-journal:
|
||
|
- - src/journal/*
|
||
|
-journal-remote:
|
||
|
- - src/journal-remote/*
|
||
|
-portable:
|
||
|
- - src/portable/**/*
|
||
|
-resolve:
|
||
|
- - src/resolve/*
|
||
|
-timedate:
|
||
|
- - src/timedate/*
|
||
|
-timesync:
|
||
|
- - src/timesync/*
|
||
|
diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml
|
||
|
deleted file mode 100644
|
||
|
index 14d81a67ff..0000000000
|
||
|
--- a/.github/workflows/cifuzz.yml
|
||
|
+++ /dev/null
|
||
|
@@ -1,47 +0,0 @@
|
||
|
----
|
||
|
-# vi: ts=2 sw=2 et:
|
||
|
-# See: https://google.github.io/oss-fuzz/getting-started/continuous-integration/
|
||
|
-
|
||
|
-name: CIFuzz
|
||
|
-on:
|
||
|
- pull_request:
|
||
|
- paths:
|
||
|
- - '**/meson.build'
|
||
|
- - '.github/workflows/**'
|
||
|
- - 'meson_options.txt'
|
||
|
- - 'src/**'
|
||
|
- - 'test/fuzz/**'
|
||
|
- - 'tools/oss-fuzz.sh'
|
||
|
- push:
|
||
|
- branches:
|
||
|
- - main
|
||
|
-jobs:
|
||
|
- Fuzzing:
|
||
|
- runs-on: ubuntu-latest
|
||
|
- if: github.repository == 'systemd/systemd'
|
||
|
- strategy:
|
||
|
- fail-fast: false
|
||
|
- matrix:
|
||
|
- sanitizer: [address, undefined, memory]
|
||
|
- steps:
|
||
|
- - name: Build Fuzzers (${{ matrix.sanitizer }})
|
||
|
- id: build
|
||
|
- uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
|
||
|
- with:
|
||
|
- oss-fuzz-project-name: 'systemd'
|
||
|
- dry-run: false
|
||
|
- allowed-broken-targets-percentage: 0
|
||
|
- sanitizer: ${{ matrix.sanitizer }}
|
||
|
- - name: Run Fuzzers (${{ matrix.sanitizer }})
|
||
|
- uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
||
|
- with:
|
||
|
- oss-fuzz-project-name: 'systemd'
|
||
|
- fuzz-seconds: 600
|
||
|
- dry-run: false
|
||
|
- sanitizer: ${{ matrix.sanitizer }}
|
||
|
- - name: Upload Crash
|
||
|
- uses: actions/upload-artifact@v1
|
||
|
- if: failure() && steps.build.outcome == 'success'
|
||
|
- with:
|
||
|
- name: ${{ matrix.sanitizer }}-artifacts
|
||
|
- path: ./out/artifacts
|
||
|
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
|
||
|
deleted file mode 100644
|
||
|
index a0eb0f01fd..0000000000
|
||
|
--- a/.github/workflows/coverity.yml
|
||
|
+++ /dev/null
|
||
|
@@ -1,39 +0,0 @@
|
||
|
----
|
||
|
-# vi: ts=2 sw=2 et:
|
||
|
-#
|
||
|
-name: Coverity
|
||
|
-
|
||
|
-on:
|
||
|
- schedule:
|
||
|
- # Run Coverity daily at midnight
|
||
|
- - cron: '0 0 * * *'
|
||
|
-
|
||
|
-jobs:
|
||
|
- build:
|
||
|
- runs-on: ubuntu-20.04
|
||
|
- if: github.repository == 'systemd/systemd'
|
||
|
- env:
|
||
|
- COVERITY_SCAN_BRANCH_PATTERN: "${{ github.ref}}"
|
||
|
- COVERITY_SCAN_NOTIFICATION_EMAIL: ""
|
||
|
- COVERITY_SCAN_PROJECT_NAME: "${{ github.repository }}"
|
||
|
- # Set in repo settings -> secrets -> repository secrets
|
||
|
- COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
|
||
|
- CURRENT_REF: "${{ github.ref }}"
|
||
|
- steps:
|
||
|
- - name: Repository checkout
|
||
|
- uses: actions/checkout@v1
|
||
|
- # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
|
||
|
- - name: Set the $COVERITY_SCAN_NOTIFICATION_EMAIL env variable
|
||
|
- run: echo "COVERITY_SCAN_NOTIFICATION_EMAIL=$(git log -1 ${{ github.sha }} --pretty=\"%aE\")" >> $GITHUB_ENV
|
||
|
- - name: Install Coverity tools
|
||
|
- run: tools/get-coverity.sh
|
||
|
- # Reuse the setup phase of the unit test script to avoid code duplication
|
||
|
- - name: Install build dependencies
|
||
|
- run: sudo -E .github/workflows/unit_tests.sh SETUP
|
||
|
- # Preconfigure with meson to prevent Coverity from capturing meson metadata
|
||
|
- - name: Preconfigure the build directory
|
||
|
- run: meson cov-build -Dman=false
|
||
|
- - name: Build
|
||
|
- run: tools/coverity.sh build
|
||
|
- - name: Upload the results
|
||
|
- run: tools/coverity.sh upload
|
||
|
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
|
||
|
deleted file mode 100644
|
||
|
index 76d67a3a5c..0000000000
|
||
|
--- a/.github/workflows/labeler.yml
|
||
|
+++ /dev/null
|
||
|
@@ -1,13 +0,0 @@
|
||
|
-name: "Pull Request Labeler"
|
||
|
-on:
|
||
|
-- pull_request_target
|
||
|
-
|
||
|
-jobs:
|
||
|
- triage:
|
||
|
- runs-on: ubuntu-latest
|
||
|
- steps:
|
||
|
- - uses: actions/labeler@main
|
||
|
- with:
|
||
|
- repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||
|
- configuration-path: .github/labeler.yml
|
||
|
- sync-labels: "" # This is a workaround for issue 18671
|
||
|
diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml
|
||
|
deleted file mode 100644
|
||
|
index babdf7ae6e..0000000000
|
||
|
--- a/.github/workflows/mkosi.yml
|
||
|
+++ /dev/null
|
||
|
@@ -1,58 +0,0 @@
|
||
|
-name: mkosi
|
||
|
-
|
||
|
-# Simple boot tests that build and boot the mkosi images generated by the mkosi config files in .mkosi.
|
||
|
-
|
||
|
-on:
|
||
|
- push:
|
||
|
- branches:
|
||
|
- - main
|
||
|
- pull_request:
|
||
|
- branches:
|
||
|
- - main
|
||
|
-
|
||
|
-jobs:
|
||
|
- ci:
|
||
|
- runs-on: ubuntu-20.04
|
||
|
- strategy:
|
||
|
- fail-fast: false
|
||
|
- matrix:
|
||
|
- distro:
|
||
|
- - arch
|
||
|
- - debian
|
||
|
- - ubuntu
|
||
|
- - fedora
|
||
|
-
|
||
|
- steps:
|
||
|
- - uses: actions/checkout@v2
|
||
|
- - uses: systemd/mkosi@v9
|
||
|
-
|
||
|
- - name: Install
|
||
|
- run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
||
|
-
|
||
|
- - name: Symlink
|
||
|
- run: ln -s .mkosi/mkosi.${{ matrix.distro }} mkosi.default
|
||
|
-
|
||
|
- # Ubuntu's systemd-nspawn doesn't support faccessat2() syscall, which is
|
||
|
- # required, since current Arch's glibc implements faccessat() via faccessat2().
|
||
|
- - name: Update systemd-nspawn
|
||
|
- if: ${{ matrix.distro == 'arch' }}
|
||
|
- run: |
|
||
|
- echo "deb-src http://archive.ubuntu.com/ubuntu/ $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list
|
||
|
- sudo apt update
|
||
|
- sudo apt build-dep systemd
|
||
|
- meson build
|
||
|
- ninja -C build
|
||
|
- sudo ln -svf $PWD/build/systemd-nspawn `which systemd-nspawn`
|
||
|
- systemd-nspawn --version
|
||
|
-
|
||
|
- - name: Build ${{ matrix.distro }}
|
||
|
- run: sudo python3 -m mkosi --password= --qemu-headless build
|
||
|
-
|
||
|
- - name: Show ${{ matrix.distro }} image summary
|
||
|
- run: sudo python3 -m mkosi --password= --qemu-headless summary
|
||
|
-
|
||
|
- - name: Boot ${{ matrix.distro }} systemd-nspawn
|
||
|
- run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --qemu-headless boot
|
||
|
-
|
||
|
- - name: Boot ${{ matrix.distro }} QEMU
|
||
|
- run: sudo ./.github/workflows/test_mkosi_boot.py python3 -m mkosi --password= --qemu-headless qemu
|
||
|
diff --git a/.github/workflows/test_mkosi_boot.py b/.github/workflows/test_mkosi_boot.py
|
||
|
deleted file mode 100755
|
||
|
index 3418fd3a51..0000000000
|
||
|
--- a/.github/workflows/test_mkosi_boot.py
|
||
|
+++ /dev/null
|
||
|
@@ -1,24 +0,0 @@
|
||
|
-#!/usr/bin/env python3
|
||
|
-# SPDX-License-Identifier: LGPL-2.1-or-later
|
||
|
-
|
||
|
-import pexpect
|
||
|
-import sys
|
||
|
-
|
||
|
-
|
||
|
-def run() -> None:
|
||
|
- p = pexpect.spawnu(" ".join(sys.argv[1:]), logfile=sys.stdout, timeout=300)
|
||
|
-
|
||
|
- p.expect("#")
|
||
|
- p.sendline("systemctl poweroff")
|
||
|
-
|
||
|
- p.expect(pexpect.EOF)
|
||
|
-
|
||
|
-
|
||
|
-try:
|
||
|
- run()
|
||
|
-except pexpect.EOF:
|
||
|
- print("UNEXPECTED EOF")
|
||
|
- sys.exit(1)
|
||
|
-except pexpect.TIMEOUT:
|
||
|
- print("TIMED OUT")
|
||
|
- sys.exit(1)
|