Skip to content

Make it easier to hook into the outer/inner Build/Clean/Publish process. #378

Make it easier to hook into the outer/inner Build/Clean/Publish process.

Make it easier to hook into the outer/inner Build/Clean/Publish process. #378

Workflow file for this run

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Build
on:
push:
branches-ignore:
- dependabot/**
pull_request:
workflow_dispatch:
defaults:
run:
shell: bash
env:
DOTNET_CLI_TELEMETRY_OPTOUT: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
DOTNET_NOLOGO: true
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- macos-13
- ubuntu-22.04
- windows-2022
cfg:
- Debug
- Release
mode:
- Fast
- Safe
- Small
exclude:
- cfg: Debug
mode: Fast
- cfg: Debug
mode: Small
runs-on: ${{ matrix.os }}
steps:
- name: Clone repository
uses: actions/[email protected]
with:
fetch-depth: 0
submodules: recursive
- name: Set up .NET
uses: actions/[email protected]
- name: Build project
run: |
dotnet tool restore
dotnet build
- name: Restore samples
run: |
dotnet restore src/samples
- name: Build samples
run: |
dotnet build src/samples -c ${{ matrix.cfg }} --no-restore -p:ReleaseMode=${{ matrix.mode }}
- name: Test samples
run: |
dotnet test src/samples -c ${{ matrix.cfg }} --no-restore -p:ReleaseMode=${{ matrix.mode }}
- name: Pack samples
run: |
dotnet pack src/samples -c ${{ matrix.cfg }} --no-build
- name: Publish samples
run: |
dotnet publish src/samples -c ${{ matrix.cfg }} --no-build
- name: Clean samples
run: |
dotnet clean src/samples -c ${{ matrix.cfg }}