.NET Frameworkで作成したWindows Forms(WinForms)を、GitHub Actionsを使用して、ビルド及びテストする方法を説明します。
GitHub Actions
GitHub Actionsとは、GitHubが提供する継続的インテグレーション(CI)および継続的デリバリー(CD)のための自動化プラットフォームです。GitHub Actionsを使用すると、ソフトウェアのビルド、テスト、デプロイなどのタスクを自動化することができます。
タスクを自動化するにあたり、ワークフローファイルの作成が必要になります。GitHub上のリポジトリに対して、ワークフローを作成し、ワークフローファイルに自動化する具体的作業を記述します。
ワークフローファイル
以下に、.NET Frameworkで作成したWindows Forms(WinForms)を、ビルド及びテストするタスクを記述したワークフローファイルを示します。
name: CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
runs-on: windows-latest # For a list of available runner types, refer to
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
env:
Solution_Name: Sample.sln # Replace with your solution name, i.e. MyWpfApp.sln.
Test_Dll_Path: SampleTests\bin\Debug\SampleTests.dll
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.3.1
# Setup NuGet
- name: Setup NuGet
uses: nuget/setup-nuget@v1.2.0
# Restore NuGet
- name: Restore NuGet packages
run: nuget restore $env:Solution_Name
# Build
- name: Build the Solution
run: msbuild $env:Solution_Name
# Setup VSTest
- name: Setup VSTest
uses: darenm/Setup-VSTest@v1.2
# VSTest
- name: Run VSTest
run: vstest.console.exe $env:Test_Dll_Path
実行結果
GitHubサイト上のJob実行ボタンをクリックしたり、コードをプッシュすることで、ビルド及びテストを自動実行することができます。
上記のワークフローファイルを使って、.NET Framework 4.8のWinFormsプロジェクトをビルド及びテストした結果を以下に示します。