From 6b8c482012024c7ddc9939b257dd79c7ebecffbf Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Wed, 18 Mar 2026 10:11:53 -0600 Subject: [PATCH] github-ci: break ubuntu/debian script into 2 scripts Debian 13 ships Rust 1.85 by default, Ubuntu requires installing a specific patch to get newer then 1.75. So to support a newer MSRV, these operating systems need different examples. --- .github/workflows/builds.yml | 38 ++++++++++++++++++- Makefile.am | 3 +- doc/userguide/install.rst | 19 ++++++++-- ...-build.sh => docs-debian-minimal-build.sh} | 0 scripts/docs-ubuntu-minimal-build.sh | 10 +++++ 5 files changed, 64 insertions(+), 6 deletions(-) rename scripts/{docs-ubuntu-debian-minimal-build.sh => docs-debian-minimal-build.sh} (100%) create mode 100755 scripts/docs-ubuntu-minimal-build.sh diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 9234199f3d..9843fe2670 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -2783,7 +2783,43 @@ jobs: - run: apt update -y && apt install -y sudo - name: Install minimal dependencies - run: ./scripts/docs-ubuntu-debian-minimal-build.sh + run: ./scripts/docs-ubuntu-minimal-build.sh + + # Set the path, the export in the example script does not work + # in GitHub actions. + - run: echo "/usr/lib/rust-1.89/bin:$PATH" >> $GITHUB_PATH + + - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure + - run: make -j ${{ env.CPUS }} + - run: ./src/suricata --build-info # check if we can run Suricata + + debian-13-minimal-recommended-build: + name: Debian 13 (Minimal/Recommended Build) + needs: [ubuntu-22-04-dist] + runs-on: ubuntu-latest + container: debian:13 + steps: + # Cache Rust stuff. + - name: Cache cargo registry + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 + with: + path: ~/.cargo/registry + key: cargo-registry + + - name: Determine number of CPUs + run: echo CPUS=$(nproc --all) >> $GITHUB_ENV + + - name: Download suricata.tar.gz + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c + with: + name: dist + - run: tar xvf suricata-*.tar.gz --strip-components=1 + + # Install packages required by the install script. + - run: apt update -y && apt install -y sudo + + - name: Install minimal dependencies + run: ./scripts/docs-debian-minimal-build.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure - run: make -j ${{ env.CPUS }} diff --git a/Makefile.am b/Makefile.am index e99cea855b..6333994c14 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,8 @@ EXTRA_DIST = ChangeLog COPYING LICENSE suricata.yaml.in \ acsite.m4 \ scripts/generate-images.sh \ scripts/docs-almalinux9-minimal-build.sh \ - scripts/docs-ubuntu-debian-minimal-build.sh \ + scripts/docs-debian-minimal-build.sh \ + scripts/docs-ubuntu-minimal-build.sh \ scripts/evedoc.py \ examples/plugins SUBDIRS = rust src plugins qa rules doc etc python ebpf \ diff --git a/doc/userguide/install.rst b/doc/userguide/install.rst index 10dc0f847c..f5c99fc463 100644 --- a/doc/userguide/install.rst +++ b/doc/userguide/install.rst @@ -63,13 +63,24 @@ Common configure options Dependencies and compilation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Ubuntu/Debian -""""""""""""" +Debian 13+ +"""""""""" .. note:: The following instructions require ``sudo`` to be installed. -.. literalinclude:: ../../scripts/docs-ubuntu-debian-minimal-build.sh - :caption: Minimal dependencies for Ubuntu/Debian +.. literalinclude:: ../../scripts/docs-debian-minimal-build.sh + :caption: Minimal dependencies for Debian + :language: bash + :start-after: # install-guide-documentation tag start: Minimal dependencies + :end-before: # install-guide-documentation tag end: Minimal dependencies + +Ubuntu +"""""" + +.. note:: The following instructions require ``sudo`` to be installed. + +.. literalinclude:: ../../scripts/docs-ubuntu-minimal-build.sh + :caption: Minimal dependencies for Ubuntu :language: bash :start-after: # install-guide-documentation tag start: Minimal dependencies :end-before: # install-guide-documentation tag end: Minimal dependencies diff --git a/scripts/docs-ubuntu-debian-minimal-build.sh b/scripts/docs-debian-minimal-build.sh similarity index 100% rename from scripts/docs-ubuntu-debian-minimal-build.sh rename to scripts/docs-debian-minimal-build.sh diff --git a/scripts/docs-ubuntu-minimal-build.sh b/scripts/docs-ubuntu-minimal-build.sh new file mode 100755 index 0000000000..3733cae99e --- /dev/null +++ b/scripts/docs-ubuntu-minimal-build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Serves for Ubuntu/Debian docs and is verified by Github Actions + +# install-guide-documentation tag start: Minimal dependencies +sudo apt -y install autoconf automake build-essential cargo-1.89 \ + libjansson-dev libpcap-dev libpcre2-dev libtool \ + libyaml-dev make pkg-config zlib1g-dev +export PATH=/usr/lib/rust-1.89/bin:$PATH +# install-guide-documentation tag end: Minimal dependencies