From 76e7478a34b7178b18ba5153f1c1dc89faa53cfd Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Sun, 6 Mar 2022 19:25:34 +0100 Subject: Makefile: accept $SPHINXOPTS from the outside --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b7070df..44d826c 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ clean: distclean: clean rm -rf dist MANIFEST -SPHINXOPTS = -D version=$(VERSION) -D release=$(VERSION) +SPHINXOPTS += -D version=$(VERSION) -D release=$(VERSION) sphinx-%: build cd build && \ PYTHONPATH=../$(builddir) $(PYTHON) -m sphinx -b $* $(SPHINXOPTS) ../docs $* -- cgit v1.2.1 From 720d3cb73813d9b85e4439bc549e11b20b34a19d Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Sun, 6 Mar 2022 18:26:24 +0100 Subject: ci: move the CI to GitHub Actions --- .github/workflows/build.yml | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ff2a545 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,51 @@ +--- +# vi: ts=2 sw=2 et: +# SPDX-License-Identifier: LGPL-2.1-or-later +# +name: Build test +on: [pull_request] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-20.04 + concurrency: + group: ${{ github.workflow }}-${{ matrix.python }}-${{ github.ref }} + cancel-in-progress: true + strategy: + fail-fast: false + matrix: + python: [ + "3.7", + "3.8", + "3.9", + "3.10", + ] + name: Python ${{ matrix.python }} + steps: + - name: Repository checkout + uses: actions/checkout@v2 + + - name: Configure Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + architecture: x64 + + - name: Install dependencies + run: | + sudo apt -y update + sudo apt -y install gcc libsystemd-dev + python -m pip install pytest sphinx + + - name: Build (Python ${{ matrix.python }}) + run: | + set -x + make -j + make doc SPHINXOPTS="-W -v" + + - name: Test (Python ${{ matrix.python }}) + run: | + make check -- cgit v1.2.1 From 884a43eb2ea9eaab44a6fe06e60244e664b49a7f Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Mon, 28 Mar 2022 12:44:22 +0200 Subject: ci: introduce a simple install test --- .github/workflows/install.yml | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/install.yml diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml new file mode 100644 index 0000000..0ae5260 --- /dev/null +++ b/.github/workflows/install.yml @@ -0,0 +1,77 @@ +--- +# vi: ts=2 sw=2 et: +# SPDX-License-Identifier: LGPL-2.1-or-later +# +name: Install test +on: [pull_request] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ matrix.container }}-${{ github.ref }} + cancel-in-progress: true + strategy: + fail-fast: false + matrix: + container: [ + "archlinux:latest", + "debian:testing", + "quay.io/centos/centos:stream8", + "quay.io/fedora/fedora:rawhide", + "ubuntu:focal", + ] + container: + image: ${{ matrix.container }} + name: ${{ matrix.container }} + steps: + - name: Repository checkout + uses: actions/checkout@v2 + + - name: Install dependencies + shell: bash + run: | + DIST_ID="$(sed -nr 's/^ID="?(\w+)"?/\1/p' /etc/os-release)" + echo "Distribution ID: $DIST_ID" + + DEPS_COMMON=( + gcc + git + pkg-config + python3 + systemd + ) + + case "$DIST_ID" in + arch) + pacman --noconfirm -Sy "${DEPS_COMMON[@]}" systemd-libs + python3 -m ensurepip + ;; + centos|fedora) + dnf -y install "${DEPS_COMMON[@]}" systemd-devel python3-devel python3-pip + ;; + ubuntu|debian) + apt -y update + DEBIAN_FRONTEND=noninteractive apt -y install "${DEPS_COMMON[@]}" libsystemd-dev python3-dev python3-pip + ;; + *) + echo >&2 "Invalid distribution ID: $DISTRO_ID" + exit 1 + esac + + python3 -m pip install pytest sphinx + + - name: Build & install + shell: bash + run: | + set -x + python3 -m pip install -I -v . + # Avoid importing the systemd module from the git repository + cd / + python3 -c 'from systemd import journal; print(journal.__version__)' + # Initialize /etc/machine-id if it's empty to make the tests happy + [[ ! -s /etc/machine-id ]] && systemd-id128 new >/etc/machine-id + pytest -v --pyargs systemd -- cgit v1.2.1