FFMpegCore/.github/workflows/ci.yml
2025-10-16 09:37:27 +02:00

58 lines
1.5 KiB
YAML

name: CI
on:
pull_request:
branches:
- main
- release
paths:
- .github/workflows/ci.yml
- Directory.Build.props
- FFMpegCore/**
- FFMpegCore.Test/**
- FFMpegCore.Extensions.SkiaSharp/**
- FFMpegCore.Extensions.System.Drawing.Common/**
jobs:
ci:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
timeout-minutes: 7
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- if: runner.os == 'ubuntu-latest'
name: Lint with dotnet
run: dotnet format FFMpegCore.sln --severity warn --verify-no-changes
- if: runner.os != 'macOS' || runner.arch != 'ARM64'
uses: AnimMouse/setup-ffmpeg@ae28d57 # 1.1.0
with:
version: 7.1.1
token: ${{ github.token }}
- if: runner.os == 'macOS' && runner.arch == 'ARM64'
uses: AnimMouse/setup-ffmpeg@ae28d57 # 1.1.0
with:
version: 711
- name: Test with dotnet
run: dotnet test FFMpegCore.sln --collect "XPlat Code Coverage" --logger GitHubActions
- if: matrix.os == 'windows-latest'
name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
directory: FFMpegCore.Test/TestResults
token: ${{ secrets.CODECOV_TOKEN }}
os: windows