Skip to content

Mark Nikon D200 as supported #1973

Mark Nikon D200 as supported

Mark Nikon D200 as supported #1973

Workflow file for this run

name: CI
on:
push:
branches: [ develop, stable ]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
# FIXME: add no-openmp, and maybe -DCMAKE_BUILD_TYPE=Debug jobs
jobs:
cache-rpuu:
uses: ./.github/workflows/CI-rpuu.yml
linux-fast:
needs: [ cache-rpuu ]
strategy:
fail-fast: false
matrix:
runs-on: [ ubuntu-latest, ubuntu-24.04-arm ]
os: [ linux ]
compiler:
- { distro: "debian:trixie-slim", family: GNU, version: 14, CC: gcc-14, CXX: g++-14 }
- { distro: "debian:trixie-slim", family: LLVM, version: 19, CC: clang-19, CXX: clang++-19 }
flavor: [ ReleaseWithAsserts, Release ]
uses: ./.github/workflows/CI-linux.yml
with:
runs-on: ${{ matrix.runs-on }}
os: ${{ matrix.os }}
distro: ${{ matrix.compiler.distro }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
compiler-GCOV: ${{ matrix.compiler.GCOV }}
compiler-CLANG_TIDY: ${{ matrix.compiler.CLANG_TIDY }}
flavor: ${{ matrix.flavor }}
enable-sample-based-testing: true
rpuu-cache-key: ${{ needs.cache-rpuu.outputs.rpuu-cache-key }}
linux-legacy:
needs: [ linux-fast ]
strategy:
fail-fast: false
matrix:
os: [ linux ]
compiler:
- { distro: "debian:trixie-slim", family: GNU, version: 13, CC: gcc-13, CXX: g++-13 }
- { distro: "debian:bookworm-slim", family: GNU, version: 12, CC: gcc-12, CXX: g++-12 }
- { distro: "debian:trixie-slim", family: LLVM, version: 18, CC: clang-18, CXX: clang++-18 }
- { distro: "debian:trixie-slim", family: LLVM, version: 17, CC: clang-17, CXX: clang++-17 }
- { distro: "debian:bookworm-slim", family: LLVM, version: 16, CC: clang-16, CXX: clang++-16 }
flavor: [ ReleaseWithAsserts, Release ]
uses: ./.github/workflows/CI-linux.yml
with:
os: ${{ matrix.os }}
distro: ${{ matrix.compiler.distro }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
compiler-GCOV: ${{ matrix.compiler.GCOV }}
compiler-CLANG_TIDY: ${{ matrix.compiler.CLANG_TIDY }}
flavor: ${{ matrix.flavor }}
linux-static-analysis:
needs: [ linux-fast ]
strategy:
fail-fast: false
matrix:
include:
- os: linux
compiler: { distro: "debian:trixie-slim", family: LLVM, version: 18, CC: clang-18, CXX: clang++-18, CLANG_TIDY: clang-tidy-18 } # FIXME: should be LLVM19-based.
flavor: ClangTidy
- os: linux
compiler: { distro: "debian:trixie-slim", family: LLVM, version: 19, CC: clang-19, CXX: clang++-19 }
flavor: ClangStaticAnalysis
- os: linux
compiler: { distro: "debian:trixie-slim", family: LLVM, version: 19, CC: clang-19, CXX: clang++-19 }
flavor: ClangCTUStaticAnalysis
- os: linux
compiler: { distro: "debian:trixie-slim", family: LLVM, version: 19, CC: clang-19, CXX: clang++-19 }
flavor: CodeQLAnalysis
uses: ./.github/workflows/CI-linux.yml
with:
os: ${{ matrix.os }}
distro: ${{ matrix.compiler.distro }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
compiler-GCOV: ${{ matrix.compiler.GCOV }}
compiler-CLANG_TIDY: ${{ matrix.compiler.CLANG_TIDY }}
flavor: ${{ matrix.flavor }}
linux-coverage:
needs: [ cache-rpuu, linux-fast ]
strategy:
fail-fast: false
matrix:
include:
- os: linux
compiler: { distro: "debian:trixie-slim", family: GNU, version: 14, CC: gcc-14, CXX: g++-14, GCOV: gcov-14 }
flavor: Coverage
uses: ./.github/workflows/CI-linux.yml
with:
os: ${{ matrix.os }}
distro: ${{ matrix.compiler.distro }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
compiler-GCOV: ${{ matrix.compiler.GCOV }}
compiler-CLANG_TIDY: ${{ matrix.compiler.CLANG_TIDY }}
flavor: ${{ matrix.flavor }}
enable-sample-based-testing: true
rpuu-cache-key: ${{ needs.cache-rpuu.outputs.rpuu-cache-key }}
linux-sonarcloud-static-analysis:
needs: [ linux-fast ]
if: github.repository == 'darktable-org/rawspeed' && github.event_name != 'pull_request' && github.ref_type == 'branch' && (github.ref_name == 'develop' || github.ref_name == 'stable')
strategy:
fail-fast: false
matrix:
include:
- os: linux
compiler: { distro: "debian:trixie-slim", family: LLVM, version: 19, CC: clang-19, CXX: clang++-19 }
flavor: SonarCloudStaticAnalysis
uses: ./.github/workflows/CI-linux.yml
with:
os: ${{ matrix.os }}
distro: ${{ matrix.compiler.distro }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
compiler-GCOV: ${{ matrix.compiler.GCOV }}
compiler-CLANG_TIDY: ${{ matrix.compiler.CLANG_TIDY }}
flavor: ${{ matrix.flavor }}
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }}
SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }}
linux-ossfuzz:
needs: [ linux-fast ]
if: github.repository == 'darktable-org/rawspeed' && (github.event_name == 'pull_request' || (github.ref_type == 'branch' && github.ref_name == 'develop'))
strategy:
fail-fast: false
matrix:
sanitizer: [ address, undefined, memory ]
uses: ./.github/workflows/CI-ossfuzz.yml
with:
sanitizer: ${{ matrix.sanitizer }}
windows-msys2-fast:
needs: [ cache-rpuu ]
strategy:
fail-fast: false
matrix:
msys2:
- { os: windows-latest, msystem: MINGW64, arch: x86_64, family: GNU, CC: gcc, CXX: g++ }
- { os: windows-latest, msystem: MINGW32, arch: i686, family: GNU, CC: gcc, CXX: g++ }
- { os: windows-latest, msystem: CLANG64, arch: x86_64, family: LLVM, CC: clang, CXX: clang++ }
- { os: windows-11-arm, msystem: CLANGARM64, arch: aarch64, family: LLVM, CC: clang, CXX: clang++ }
- { os: windows-latest, msystem: UCRT64, arch: x86_64, family: GNU, CC: gcc, CXX: g++ }
flavor: [ ReleaseWithAsserts, Release ]
uses: ./.github/workflows/CI-windows-msys2.yml
with:
os: ${{ matrix.msys2.os }}
msys2-msystem: ${{ matrix.msys2.msystem }}
msys2-arch: ${{ matrix.msys2.arch }}
compiler-family: ${{ matrix.msys2.family }}
compiler-CC: ${{ matrix.msys2.CC }}
compiler-CXX: ${{ matrix.msys2.CXX }}
flavor: ${{ matrix.flavor }}
windows-msys2-coverage:
needs: [ windows-msys2-fast ]
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
msys2: { msystem: UCRT64, arch: x86_64, family: GNU, CC: gcc, CXX: g++ }
flavor: Coverage
uses: ./.github/workflows/CI-windows-msys2.yml
with:
os: ${{ matrix.os }}
msys2-msystem: ${{ matrix.msys2.msystem }}
msys2-arch: ${{ matrix.msys2.arch }}
compiler-family: ${{ matrix.msys2.family }}
compiler-CC: ${{ matrix.msys2.CC }}
compiler-CXX: ${{ matrix.msys2.CXX }}
flavor: ${{ matrix.flavor }}
macOS-fast:
needs: [ cache-rpuu ]
strategy:
fail-fast: false
matrix:
compiler:
- { os: macos-15, family: XCode, version: 16.3, deployment_target: 15.2, CC: cc, CXX: c++ } # AArch64, LLVM19, native
- { os: macos-13, family: XCode, version: 15.2, deployment_target: 13.5, CC: cc, CXX: c++ } # x86_64, LLVM16, native
flavor: [ ReleaseWithAsserts, Release ]
uses: ./.github/workflows/CI-macOS.yml
with:
os: ${{ matrix.compiler.os }}
os-deployment_target: ${{ matrix.compiler.deployment_target }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
flavor: ${{ matrix.flavor }}
macOS-legacy:
needs: [ cache-rpuu, macOS-fast ]
strategy:
fail-fast: false
matrix:
compiler:
- { os: macos-14, family: XCode, version: 16.2, deployment_target: 14.5, CC: cc, CXX: c++ } # AArch64, LLVM17, native
flavor: [ ReleaseWithAsserts, Release ]
uses: ./.github/workflows/CI-macOS.yml
with:
os: ${{ matrix.compiler.os }}
os-deployment_target: ${{ matrix.compiler.deployment_target }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
flavor: ${{ matrix.flavor }}
macOS-coverage:
needs: [ macOS-fast ]
strategy:
fail-fast: false
matrix:
include:
- compiler: { os: macos-15, family: XCode, version: 16.3, deployment_target: 15.2, CC: cc, CXX: c++ } # AArch64, LLVM19, native
flavor: Coverage
uses: ./.github/workflows/CI-macOS.yml
with:
os: ${{ matrix.compiler.os }}
os-deployment_target: ${{ matrix.compiler.deployment_target }}
compiler-family: ${{ matrix.compiler.family }}
compiler-version: ${{ matrix.compiler.version }}
compiler-CC: ${{ matrix.compiler.CC }}
compiler-CXX: ${{ matrix.compiler.CXX }}
flavor: ${{ matrix.flavor }}
codecov:
needs: [ linux-coverage, macOS-coverage, windows-msys2-coverage ]
strategy:
fail-fast: false
uses: ./.github/workflows/CI-codecov.yml
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}