name: Build on: push: paths-ignore: - 'docs/**' branches-ignore: - pages env: BUILD_TYPE: Release jobs: build: name: Build ${{matrix.os}} runs-on: ${{matrix.os}} strategy: matrix: os: [ubuntu-20.04, ubuntu-22.04] steps: - uses: actions/checkout@v3 - name: Download RtBrick libdict shell: bash run: wget https://github.com/rtbrick/libdict/releases/download/1.0.3/libdict-${{matrix.os}}.zip - name: Install RtBrick libdict shell: bash run: unzip libdict-${{matrix.os}}.zip; sudo dpkg -i libdict_1.0.3_amd64.deb; sudo dpkg -i libdict-dev_1.0.3_amd64.deb - name: Install Dependencies shell: bash run: sudo apt install -y libcunit1-dev libncurses-dev libssl-dev libjansson-dev libcmocka-dev libpcap-dev - name: Set export SOURCE_DATE_EPOCH to git commit time run: | echo "SOURCE_DATE_EPOCH=$(git log -1 --format=%ct)" >> $GITHUB_ENV - name: Create Build Environment run: cmake -E make_directory ${{github.workspace}}/build - name: Configure CMake shell: bash working-directory: ${{github.workspace}}/build run: cmake $GITHUB_WORKSPACE -DGIT_REF=$GITHUB_REF -DGIT_SHA=$GITHUB_SHA -DBNGBLASTER_TESTS=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBNGBLASTER_OS=${{matrix.os}} - name: Build working-directory: ${{github.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE - name: Test working-directory: ${{github.workspace}}/build shell: bash run: ctest -C $BUILD_TYPE - name: Package working-directory: ${{github.workspace}}/build shell: bash run: cpack -G DEB - name: Upload Build Artifact uses: actions/upload-artifact@v3 with: name: bngblaster-${{matrix.os}} path: ${{ github.workspace }}/build/*.deb