Files
Daybreak/.github/workflows/ci.yaml
T

73 lines
1.8 KiB
YAML

# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
# This continuous integration pipeline is triggered on pull requests to master.
# It validates that both the Windows and Linux builds compile successfully.
name: Daybreak CI Pipeline
on:
pull_request:
branches:
- master
jobs:
build-windows:
runs-on: windows-latest
env:
Configuration: Debug
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: recursive
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.x'
- name: Build Windows project
run: dotnet build Daybreak.Windows/Daybreak.Windows.csproj -c $env:Configuration
- name: Build Injector
run: dotnet build Daybreak.Injector/Daybreak.Injector.csproj -c $env:Configuration
- name: Build API
run: dotnet build Daybreak.API/Daybreak.API.csproj -c $env:Configuration
- name: Build Installer
run: dotnet build Daybreak.Installer/Daybreak.Installer.csproj -c $env:Configuration
- name: Run tests
run: dotnet test Daybreak.Tests/Daybreak.Tests.csproj -c $env:Configuration
build-linux:
runs-on: ubuntu-latest
env:
Configuration: Debug
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
submodules: recursive
- name: Install .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.x'
- name: Build Linux project
run: dotnet build Daybreak.Linux/Daybreak.Linux.csproj -c $Configuration
- name: Build Installer (linux-x64)
run: dotnet build Daybreak.Installer/Daybreak.Installer.csproj -c $Configuration
- name: Run tests
run: dotnet test Daybreak.Tests/Daybreak.Tests.csproj -c $Configuration