From a5e13d0deeacf34402e3145f377987bba6c9eb26 Mon Sep 17 00:00:00 2001 From: Jason Ish Date: Wed, 9 Oct 2024 09:33:20 -0600 Subject: [PATCH] github-ci: break out cbindgen installation to action --- .github/actions/install-cbindgen/action.yml | 15 ++ .github/workflows/builds.yml | 161 ++------------------ 2 files changed, 30 insertions(+), 146 deletions(-) create mode 100644 .github/actions/install-cbindgen/action.yml diff --git a/.github/actions/install-cbindgen/action.yml b/.github/actions/install-cbindgen/action.yml new file mode 100644 index 00000000000..0b4c8e0e3e0 --- /dev/null +++ b/.github/actions/install-cbindgen/action.yml @@ -0,0 +1,15 @@ +name: Install cbindgen +runs: + using: "composite" + steps: + - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 + with: + name: cbindgen + path: prep + - name: Setup cbindgen + shell: bash + run: | + mkdir -p $HOME/.cargo/bin + cp prep/cbindgen $HOME/.cargo/bin + chmod 755 $HOME/.cargo/bin/cbindgen + echo "$HOME/.cargo/bin" >> $GITHUB_PATH diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index a601be609fc..b08e92c67c2 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -546,16 +546,7 @@ jobs: - run: tar xvf prep/libhtp.tar.gz - run: tar xvf prep/suricata-update.tar.gz - run: tar xvf prep/suricata-verify.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - name: Configuring run: | ./autogen.sh @@ -1490,16 +1481,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: ./configure --enable-warnings --disable-shared --enable-unittests env: @@ -1620,16 +1602,7 @@ jobs: path: prep - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-verify.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - name: Fix kernel mmap rnd bits # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with # high-entropy ASLR in much newer kernels that GitHub runners are @@ -1734,16 +1707,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - name: Fix kernel mmap rnd bits # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with # high-entropy ASLR in much newer kernels that GitHub runners are @@ -2069,16 +2033,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - name: Fix kernel mmap rnd bits # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with # high-entropy ASLR in much newer kernels that GitHub runners are @@ -2170,16 +2125,7 @@ jobs: path: prep - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="$DEFAULT_CFLAGS -DNDEBUG" ./configure --enable-warnings --enable-unittests - run: make -j ${{ env.CPUS }} @@ -2328,16 +2274,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - name: Fix kernel mmap rnd bits # Asan in llvm 14 provided in ubuntu 22.04 is incompatible with # high-entropy ASLR in much newer kernels that GitHub runners are @@ -2415,16 +2352,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: AFL_HARDEN=1 ac_cv_func_realloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes CFLAGS="-fsanitize=address -fno-omit-frame-pointer" CXXFLAGS=$CFLAGS CC=afl-clang-fast CXX=afl-clang-fast++ LDFLAGS="-fsanitize=address" ./configure --enable-warnings --enable-fuzztargets --disable-shared - run: AFL_HARDEN=1 make -j ${{ env.CPUS }} @@ -2509,16 +2437,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-netmap - run: make -j ${{ env.CPUS }} @@ -2654,16 +2573,7 @@ jobs: name: prep path: prep - run: tar xf prep/libhtp.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-dpdk - run: make -j ${{ env.CPUS }} @@ -2739,18 +2649,10 @@ jobs: with: name: prep path: prep - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 - with: - name: cbindgen - path: prep - name: Install Rust run: curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain $(grep rust-version rust/Cargo.toml.in|sed 's/\"//g'|awk '{print $3}') -y - run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - name: Setup cbindgen - run: | - mkdir -p $HOME/.cargo/bin - cp prep/cbindgen $HOME/.cargo/bin - chmod 755 $HOME/.cargo/bin/cbindgen + - uses: ./.github/actions/install-cbindgen - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - run: tar xf prep/suricata-verify.tar.gz @@ -2851,16 +2753,7 @@ jobs: path: prep - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure - run: make dist @@ -2940,18 +2833,10 @@ jobs: with: name: prep path: prep - - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 - with: - name: cbindgen - path: prep - name: Install Rust run: curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain $(grep rust-version rust/Cargo.toml.in|sed 's/\"//g'|awk '{print $3}') -y - run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH - - name: Setup cbindgen - run: | - mkdir -p $HOME/.cargo/bin - cp prep/cbindgen $HOME/.cargo/bin - chmod 755 $HOME/.cargo/bin/cbindgen + - uses: ./.github/actions/install-cbindgen - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - run: tar xf prep/suricata-verify.tar.gz @@ -3030,15 +2915,7 @@ jobs: path: prep - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-unittests --enable-fuzztargets --enable-ebpf --enable-ebpf-build - run: make -j ${{ env.CPUS }} @@ -3109,15 +2986,7 @@ jobs: path: prep - run: tar xf prep/libhtp.tar.gz - run: tar xf prep/suricata-update.tar.gz - - 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 + - uses: ./.github/actions/install-cbindgen - run: ./autogen.sh - run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-unittests --enable-fuzztargets - run: make -j ${{ env.CPUS }}