Skip to content

v3.0 dotnet, node and web #88

v3.0 dotnet, node and web

v3.0 dotnet, node and web #88

Workflow file for this run

name: .NET
on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- '.github/workflows/dotnet.yml'
- 'binding/dotnet/**'
- '!binding/dotnet/README.md'
- 'lib/common/**'
- 'lib/linux/**'
- 'lib/mac/**'
- 'lib/raspberry-pi/**'
- 'lib/windows/**'
- 'resources/.test/**'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- '.github/workflows/dotnet.yml'
- 'binding/dotnet/**'
- '!binding/dotnet/README.md'
- 'lib/common/**'
- 'lib/linux/**'
- 'lib/mac/**'
- 'lib/raspberry-pi/**'
- 'lib/windows/**'
- 'resources/.test/**'
defaults:
run:
working-directory: binding/dotnet
jobs:
build-github-hosted:
runs-on: ${{ matrix.os }}
env:
ACCESS_KEY: ${{secrets.PV_VALID_ACCESS_KEY}}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, macos-15-intel, windows-latest]
device: [cpu, cpu:1]
dotnet-version: [2.1.x, 3.1.x, 6.0.x, 8.0.x, 10.0.x]
include:
- dotnet-version: 2.1.x
test-framework: netcoreapp2.1
- dotnet-version: 3.1.x
test-framework: netcoreapp3.1
- dotnet-version: 6.0.x
test-framework: net6.0
- dotnet-version: 8.0.x
test-framework: net8.0
- dotnet-version: 10.0.x
test-framework: net10.0
exclude:
- os: ubuntu-latest
dotnet-version: 2.1.x
- os: ubuntu-latest
dotnet-version: 3.1.x
- os: macos-latest
dotnet-version: 2.1.x
- os: macos-latest
dotnet-version: 3.1.x
steps:
- uses: actions/checkout@v3
- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Set up .NET (8)
if: ${{ matrix.os == 'ubuntu-latest' && matrix.dotnet-version == '6.0.x' }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
- name: Build binding
run: dotnet build Orca/Orca.csproj
- name: Set test framework version (linux)
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sed -i 's/net6.0/${{matrix.test-framework}}/g' OrcaTest/OrcaTest.csproj
- name: Set test framework version (macos)
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-15-intel' }}
run: sed -i '.bak' 's/net6.0/${{matrix.test-framework}}/g' OrcaTest/OrcaTest.csproj
- name: Set test framework version (windows)
if: ${{ matrix.os == 'windows-latest' }}
run: (Get-Content -Path "OrcaTest/OrcaTest.csproj") -replace "net6.0", "${{matrix.test-framework}}" | Set-Content -Path "OrcaTest/OrcaTest.csproj"
- name: Test
run: dotnet test -v n
env:
DEVICE: ${{ matrix.device }}
build-self-hosted:
runs-on: ${{ matrix.machine }}
env:
ACCESS_KEY: ${{secrets.PV_VALID_ACCESS_KEY}}
strategy:
matrix:
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64, pv-windows-arm64]
device: [best]
include:
- device: gpu
machine: pv-linux
- device: gpu
machine: pv-windows
- device: gpu
machine: pv-ios
steps:
- uses: actions/checkout@v3
- name: Build binding
run: dotnet build Orca/Orca.csproj
- name: Test
run: dotnet test -v n
env:
DEVICE: ${{ matrix.device }}
DOTNET_ROLL_FORWARD: LatestMajor