name: docs on: push: paths: # Something has to change in doc/ for thos workflow to be run. - "doc/**" - "etc/schema.json" pull_request: workflow_dispatch: inputs: 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@1bd1e32a3bdc45362d1e726936510720a7c30a57 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@ea165f8d65b6e75b540449e92b4886f43607fa02 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@1bd1e32a3bdc45362d1e726936510720a7c30a57 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory /__w/suricata/suricata - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 with: name: prep path: prep - uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 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/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