name: docs on: push: paths: # Something has to change in doc/ for thos workflow to be run. - "doc/**" pull_request: workflow_dispatch: inputs: LIBHTP_REPO: LIBHTP_BRANCH: SU_REPO: SU_BRANCH: SV_REPO: SV_BRANCH: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: read-all env: DEFAULT_CFLAGS: "-Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-function" # Apt sometimes likes to ask for user input, this will prevent that. DEBIAN_FRONTEND: "noninteractive" jobs: prepare-deps: name: Prepare dependencies uses: ./.github/workflows/prepare-deps.yml prepare-cbindgen: name: Prepare cbindgen runs-on: ubuntu-latest steps: - name: Cache ~/.cargo uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 with: path: ~/.cargo key: ${{ github.job }}-cargo - name: Installing Rust run: | curl https://sh.rustup.rs -sSf | sh -s -- -y echo "$HOME/.cargo/bin" >> $GITHUB_PATH rustup target add x86_64-unknown-linux-musl - name: Building static cbindgen for Linux run: | cargo install --target x86_64-unknown-linux-musl --debug cbindgen cp $HOME/.cargo/bin/cbindgen . - name: Uploading prep archive uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 with: name: cbindgen path: . ubuntu-22-04-dist: name: Ubuntu 22.04 Dist Builder runs-on: ubuntu-latest container: ubuntu:22.04 needs: [prepare-deps, prepare-cbindgen] steps: # Cache Rust stuff. - name: Cache cargo registry uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 with: path: ~/.cargo key: ${{ github.job }}-cargo - name: Determine number of CPUs run: echo CPUS=$(nproc --all) >> $GITHUB_ENV - run: apt update - run: | apt -y install \ autoconf \ automake \ build-essential \ cargo \ cmake \ curl \ git \ jq \ make \ libpcre3 \ libpcre3-dbg \ libpcre3-dev \ libpcre2-dev \ libtool \ libpcap-dev \ libnet1-dev \ libyaml-0-2 \ libyaml-dev \ libcap-ng-dev \ libcap-ng0 \ libmagic-dev \ libjansson-dev \ libjansson4 \ liblz4-dev \ libssl-dev \ liblzma-dev \ pkg-config \ python3 \ python3-yaml \ rustc \ sphinx-doc \ sphinx-common \ texlive-latex-base \ texlive-fonts-recommended \ texlive-fonts-extra \ texlive-latex-extra \ zlib1g \ zlib1g-dev - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - run: git config --global --add safe.directory /__w/suricata/suricata - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 with: name: prep path: prep - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 with: name: cbindgen path: prep - name: Setup cbindgen run: | mkdir -p $HOME/.cargo/bin cp prep/cbindgen $HOME/.cargo/bin chmod 755 $HOME/.cargo/bin/cbindgen echo "$HOME/.cargo/bin" >> $GITHUB_PATH - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure - run: make dist - run: test -e doc/userguide/suricata.1 - run: test -e doc/userguide/userguide.pdf - name: Building HTML documentation run: cd doc/userguide && make html