You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
systemd/SOURCES/0472-ci-deploy-systemd-man-...

127 lines
3.9 KiB

From d13e882c482ecda4c726d3f48577deb01fbfc605 Mon Sep 17 00:00:00 2001
From: Jan Macku <jamacku@redhat.com>
Date: Fri, 9 Feb 2024 13:17:35 +0100
Subject: [PATCH] ci: deploy systemd man to GitHub Pages
rhel-only
Related: RHEL-1086
---
.github/workflows/deploy-man-pages.yml | 107 +++++++++++++++++++++++++
1 file changed, 107 insertions(+)
create mode 100644 .github/workflows/deploy-man-pages.yml
diff --git a/.github/workflows/deploy-man-pages.yml b/.github/workflows/deploy-man-pages.yml
new file mode 100644
index 0000000000..08c3d6e322
--- /dev/null
+++ b/.github/workflows/deploy-man-pages.yml
@@ -0,0 +1,107 @@
+name: Deploy systemd man to Pages
+
+on:
+ push:
+ branches: [ main ]
+ paths:
+ - man/*
+ - .github/workflows/deploy-man-pages.yml
+ schedule:
+ # Run every Monday at 4:00 AM UTC
+ - cron: 0 4 * * 1
+ workflow_dispatch:
+
+permissions:
+ contents: read
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: pages
+ cancel-in-progress: false
+
+jobs:
+ # Single deploy job since we're just deploying
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+
+ permissions:
+ pages: write
+ id-token: write
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install dependencies
+ run: |
+ RELEASE="$(lsb_release -cs)"
+ sudo bash -c "echo 'deb-src http://archive.ubuntu.com/ubuntu/ $RELEASE main restricted universe multiverse' >>/etc/apt/sources.list"
+ sudo add-apt-repository -y ppa:upstream-systemd-ci/systemd-ci
+ sudo apt-get -y update
+ sudo apt-get -y build-dep systemd
+ sudo apt-get install -y \
+ cryptsetup-bin \
+ expect \
+ fdisk \
+ gettext \
+ iputils-ping \
+ isc-dhcp-client \
+ itstool \
+ kbd \
+ libblkid-dev \
+ libbpf-dev \
+ libc6-dev-i386 \
+ libcap-dev \
+ libcurl4-gnutls-dev \
+ libfdisk-dev \
+ libfido2-dev \
+ libgpg-error-dev \
+ liblz4-dev \
+ liblzma-dev \
+ libmicrohttpd-dev \
+ libmount-dev \
+ libp11-kit-dev \
+ libpwquality-dev \
+ libqrencode-dev \
+ libssl-dev \
+ libtss2-dev \
+ libxkbcommon-dev \
+ libxtables-dev \
+ libzstd-dev \
+ meson \
+ mold \
+ mount \
+ net-tools \
+ ninja-build \
+ perl \
+ python3-evdev \
+ python3-jinja2 \
+ python3-lxml \
+ python3-pip \
+ python3-pyparsing \
+ python3-setuptools \
+ quota \
+ strace \
+ unifont \
+ util-linux \
+ zstd \
+
+ - name: Build HTML man pages
+ run: |
+ meson build
+ ninja -C build man/html
+
+ - name: Setup Pages
+ uses: actions/configure-pages@v4
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: ./build/man
+
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4