File: ci-linux-coverage.yml

package info (click to toggle)
libavif 1.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 20,956 kB
  • sloc: ansic: 29,303; cpp: 13,260; sh: 1,145; xml: 1,040; java: 307; makefile: 51
file content (61 lines) | stat: -rw-r--r-- 2,181 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Workflow that builds libabvif with aom and dav1d, runs tests and generates coverage report.

name: CI Linux Code Coverage
on: [push, pull_request]

permissions:
  contents: read

# Cancel the workflow if a new one is triggered from the same PR, branch, or tag, except on main.
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
  build-shared-run-golden-tests:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]

    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
      - uses: ./.github/actions/setup-linux
        id: setup
        with:
          codec-aom: "LOCAL"
          codec-dav1d: "LOCAL"
          libxml2: "LOCAL"

      - name: Install LLVM
        run:  sudo apt install -y llvm

      - name: Prepare libavif (cmake)
        run: >
          cmake -G Ninja -S . -B build
          -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON
          -DAVIF_CODEC_AOM=LOCAL -DAVIF_CODEC_DAV1D=LOCAL
          -DAVIF_LIBSHARPYUV=LOCAL -DAVIF_LIBXML2=LOCAL
          -DAVIF_LIBYUV=OFF
          -DAVIF_BUILD_EXAMPLES=ON -DAVIF_BUILD_APPS=ON
          -DAVIF_BUILD_TESTS=ON -DAVIF_GTEST=LOCAL
          -DAVIF_ENABLE_EXPERIMENTAL_YCGCO_R=ON
          -DAVIF_ENABLE_EXPERIMENTAL_MINI=ON
          -DAVIF_ENABLE_EXPERIMENTAL_SAMPLE_TRANSFORM=ON
          -DAVIF_ENABLE_EXPERIMENTAL_EXTENDED_PIXI=ON
          -DAVIF_ENABLE_WERROR=ON -DAVIF_ENABLE_COVERAGE=ON
          -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
      - name: Build libavif
        run: cmake --build build --config Release --parallel 4
      - name: Run AVIF coverage
        run: cmake --build build --config Release --target avif_coverage --parallel 4

      # See https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts
      - name: Archive coverage output
        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
        with:
          name: coverage-output
          path:  |
            ./build/tests/coverage/*
            ./build/tests/coverage/**/*