name: "Valgrind Analysis" on: workflow_dispatch: pull_request: types: - opened - reopened - synchronize - ready_for_review concurrency: group: "${{ github.workflow }}-${{ github.ref || github.run_id }}" cancel-in-progress: true jobs: valgrind-analysis: runs-on: ubuntu-latest container: symless/synergy-core:ubuntu-22.04-amd64 timeout-minutes: 5 steps: - name: Checkout uses: actions/checkout@v4 with: submodules: "recursive" - name: Config Git safe dir run: git config --global --add safe.directory $GITHUB_WORKSPACE - name: Install dependencies run: | ./scripts/install_deps.py --ci-env && apt install valgrind -y - name: Configure run: cmake -B build --preset=linux-release - name: Build run: cmake --build build -j8 - name: Valgrind unit tests id: unittests uses: ./.github/actions/run-valgrind with: executable: ./build/bin/unittests - name: Valgrind integration tests id: integtests uses: ./.github/actions/run-valgrind with: executable: ./build/bin/integtests - name: Get workflow URL id: workflow-url run: | repo_url="${{ github.server_url }}/${{ github.repository }}" echo "url=$repo_url/actions/runs/${{ github.run_id }}" >> $GITHUB_OUTPUT shell: bash - name: Append to PR comment uses: marocchino/sticky-pull-request-comment@v2 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} recreate: true header: valgrind message: | ## Valgrind summary See [workflow run](${{ steps.workflow-url.outputs.url }}) for full `valgrind` output. ### Unit tests ``` ${{ steps.unittests.outputs.summary }} ``` ### Integration tests ``` ${{ steps.integtests.outputs.summary }} ```