Skip to content

Feature/fix libde265 build #182

Feature/fix libde265 build

Feature/fix libde265 build #182

Workflow file for this run

name: Build PR
on:
pull_request:
branches: [ main ]
env:
version: "1.0.1"
jobs:
build:
runs-on: windows-2019
outputs:
package_version: ${{ env.PACKAGE_VERSION }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- name: Ensure .NET 5 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.302
- name: Ensure .NET 6 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.101
- name: Install Build Dependencies
run: |
choco install meson
choco install ninja
choco install nasm
echo "C:\Program Files\NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\Program Files\Meson" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Set PR Version
run: echo "PACKAGE_VERSION=${{ env.version }}-pr.${{ GITHUB.RUN_NUMBER }}" >> $env:GITHUB_ENV
- name: Build
run: dotnet build -c Release
working-directory: ./src/FileOnQ.Imaging.Heif
- name: Pack
run: dotnet pack -c Release -o ../../ /p:Version=${{ env.PACKAGE_VERSION }} /p:PackageVersion=${{ env.PACKAGE_VERSION }}
working-directory: ./src/FileOnQ.Imaging.Heif
- name: Upload NuGet Package
uses: actions/upload-artifact@v4
with:
name: Packages
path: |
*.nupkg
*.snupkg
test-integration:
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net48'
- os: windows-2019
architecture: 'x86'
framework: 'net48'
- os: windows-2019
architecture: 'x64'
framework: 'net48'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net5'
- os: windows-2019
architecture: 'x86'
framework: 'net5'
- os: windows-2019
architecture: 'x64'
framework: 'net5'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net6'
- os: windows-2019
architecture: 'x86'
framework: 'net6'
- os: windows-2019
architecture: 'x64'
framework: 'net6'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Ensure .NET 5 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.302
- name: Ensure .NET 6 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.101
- name: Download Artifacts
uses: actions/download-artifact@v4
- name: Copy Nupkg
shell: powershell
run: Copy-Item Packages\* -Destination .
- name: Update NuGet
run: dotnet add package FileOnQ.Imaging.Heif --version ${{ needs.build.outputs.package_version }}
working-directory: ./tests/FileOnQ.Imaging.Heif.Tests.${{ matrix.architecture }}
- name: Test ${{ matrix.architecture }}
run: dotnet test -c Release --logger:"console;verbosity=detailed" --filter TestCategory=Integration
working-directory: ./tests/FileOnQ.Imaging.Heif.Tests.${{ matrix.architecture }}
test-console-app:
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net48'
- os: windows-2019
architecture: 'x86'
framework: 'net48'
- os: windows-2019
architecture: 'x64'
framework: 'net48'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net5'
- os: windows-2019
architecture: 'x86'
framework: 'net5'
- os: windows-2019
architecture: 'x64'
framework: 'net5'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net6'
- os: windows-2019
architecture: 'x86'
framework: 'net6'
- os: windows-2019
architecture: 'x64'
framework: 'net6'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Ensure .NET 5 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.302
- name: Ensure .NET 6 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.101
- name: Download Artifacts
uses: actions/download-artifact@v4
- name: Copy Nupkg
shell: powershell
run: Copy-Item Packages\* -Destination .
- name: Update NuGet
run: dotnet add package FileOnQ.Imaging.Heif --version ${{ needs.build.outputs.package_version }}
working-directory: ./samples/ConsoleApp/ConsoleApp.${{ matrix.framework }}.${{ matrix.architecture }}
- name: Run Console App
run: dotnet run -c Release
working-directory: ./samples/ConsoleApp/ConsoleApp.${{ matrix.framework }}.${{ matrix.architecture }}
build-win-forms-app:
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net48'
- os: windows-2019
architecture: 'x86'
framework: 'net48'
- os: windows-2019
architecture: 'x64'
framework: 'net48'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net5'
- os: windows-2019
architecture: 'x86'
framework: 'net5'
- os: windows-2019
architecture: 'x64'
framework: 'net5'
- os: windows-2019
architecture: 'AnyCPU'
framework: 'net6'
- os: windows-2019
architecture: 'x86'
framework: 'net6'
- os: windows-2019
architecture: 'x64'
framework: 'net6'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Ensure .NET 5 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.302
- name: Ensure .NET 6 SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.101
- name: Download Artifacts
uses: actions/download-artifact@v4
- name: Copy Nupkg
shell: powershell
run: Copy-Item Packages\* -Destination .
- name: Update NuGet
run: dotnet add package FileOnQ.Imaging.Heif --version ${{ needs.build.outputs.package_version }}
working-directory: ./samples/WinformsApp/WinformsApp.${{ matrix.framework }}
- name: Build WinForms App
run: dotnet build -c Release /p:Platform=${{ matrix.architecture }}
working-directory: ./samples/WinformsApp/WinformsApp.${{ matrix.framework }}