Continuous Integration
File: .github/workflows/dotnet.yml
The repository uses a single GitHub Actions workflow, named ".NET Framework", to validate that the solution builds successfully.
Triggers
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
The workflow runs on every push to main and on every pull request targeting main.
Job: build
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Restore NuGet packages
run: nuget restore EZInfiniteYTLive.sln
- uses: microsoft/setup-msbuild@v2
- name: Build with MSBuild
run: msbuild EZInfiniteYTLive.sln /p:Configuration=Release
# Add your test step here as needed
Runs on a windows-latest runner (required, since the project is a WinForms/.NET Framework app) and performs:
- Checkout —
actions/checkout@v4clones the repository. - Restore —
nuget restore EZInfiniteYTLive.slndownloads NuGet dependencies declared by the solution/project. - Set up MSBuild —
microsoft/setup-msbuild@v2locates and addsmsbuild.exeto the runner'sPATH. - Build —
msbuild EZInfiniteYTLive.sln /p:Configuration=Releasecompiles the solution inReleaseconfiguration (defaultAnyCPUplatform, since none is specified).
What the pipeline does not currently do
- No automated tests — the workflow comment explicitly notes:
# Add your test step here as needed. There is currently no test project in the solution. - No artifact publishing — the built
.exeis not uploaded as a workflow artifact or attached to a release. - No linting/static analysis step.
- No multi-platform matrix build — only the default
AnyCPUplatform is built, even though the.csprojdefinesx86/x64/ARM64configurations.
These are reasonable areas to improve if you're looking to contribute — e.g. adding an actions/upload-artifact step to publish the built executable, or adding a unit test project for VideoStreamer's file-discovery logic.
Reproducing CI locally
Since the workflow is just two commands, you can reproduce it on a Windows machine (or Windows-hosted runner) with the Developer Command Prompt for VS or any shell with msbuild/nuget on PATH:
nuget restore EZInfiniteYTLive.sln
msbuild EZInfiniteYTLive.sln /p:Configuration=Release
See Building From Source for more detail.