58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
name: .NET Build
|
|
|
|
on:
|
|
pull_request: # Run build on every pull request that is not to main
|
|
branches-ignore:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
outputs:
|
|
version: ${{ steps.set-version.outputs.version }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules)
|
|
|
|
- name: Cache Nuget
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
|
|
|
- name: ⚒️ Run build
|
|
run: ./build.ps1 test
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: 8.0.4xx # Align with global.json (including roll forward rules)
|
|
|
|
- name: Cache Nuget
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.nuget/packages
|
|
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
|
|
|
- name: ⚒️ Run Build on Linux
|
|
run: ./build.sh build-linux
|
|
|
|
- name: ⚒️ Run tests
|
|
run: ./build.sh test-only
|
|
|
|
- name: Upload coverage reports to Codecov with GitHub Action
|
|
uses: codecov/codecov-action@v5
|
|
with:
|
|
file: Converters/**/coverage.xml
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|