name: Rust on: [push] jobs: build: strategy: matrix: os: [ubuntu-latest] runs-on: [ lq_run ] steps: - uses: actions/checkout@v2 - name: Set Version ENV run: pushd src; echo "::set-env name=VERSION::$(cat VERSION_STRING)" env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' - name: Check env var run: | echo ${{ env.VERSION }} - name: Install dependencies run: sudo /bin/apt-get update; sudo /bin/apt-get install --no-install-recommends python3-pip clang gcc gcc-multilib llvm libelf-dev git nano graphviz curl screen llvm pkg-config linux-tools-common linux-tools-`/bin/uname r` libbpf-dev mold if: matrix.os == 'ubuntu-latest' - name: Build run: pushd src/rust; cargo build --verbose --all; popd - name: Run tests run: pushd src/rust; cargo test --verbose --all; popd - name: Build .deb file run: pushd src; ./build_dpkg.sh --nostamp; popd - name: Archive .deb file uses: actions/upload-artifact@v3 with: name: libreqos_${{ env.VERSION }}.-1_amd64.deb path: src/dist/libreqos_${{ env.VERSION }}.-1_amd64.deb audit: strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Install tools run: pushd src/rust; cargo install cargo-audit; popd - name: Audit for CVEs run: cd src/rust; cargo audit -c always