Description
概要
現状CI環境では最新の.NETパッチリリースを使ってビルドを行っている。
半面、global.jsonファイルでは "rollForward": "latestMinor"
を設定し、.NET 8系の多少のバージョン違いでもビルドできるように幅を持たせている。
これはローカル開発をスムーズに進めるための方策である。
CIパイプラインでは、パイプライン内で.NET SDKやEF Core Toolのインストールを行っている。
.NET SDKのインストールタスクでは global-json-file
プロパティを設定し、global.jsonファイルに指定してあるSDKバージョンをインストールする。
このとき、global.jsonのrollForwardの設定値を無視してインストールする(結果として.NET 8.0.0が入る)。
一方、EF Core Toolのインストールは最新のパッチバージョンのツールを入れるため、現時点では8.0.1がインストールされる。
そのため、CIワークフロー内でバージョン不一致のエラーが出てしまっている。
なおrollForwordの設定値を無視する件は、既に以下のとおりPRが出ているが、マージ・リリースされていない模様。
actions/setup-dotnet#481
CIが失敗するのは開発に影響を与えるため、上記のPRの処理状況を様子見ながら、.NET SDKのセットアップタスクで最新の.NET SDKをインストールするように設定したい。
詳細 / 機能詳細(オプション)
現状以下のように設定している。
- name: .NET SDK のセットアップ
uses: actions/setup-dotnet@v3
with:
global-json-file: samples/Dressca/dressca-backend/global.json
actions/setup-dotnet の更新状況にあわせて、適切な設定へと変更する。
完了条件
- actions/setup-dotnet のPRがリリースされていない場合
- actions/setup-dotnet で 8.* のバージョンを指定してSDKをインストールするようワークフローが設定されていること(samples-console-app-with-di.ci.ymlとsamples-dressca-backend.ci.ymlの2つ)
- actions/setup-dotnet の更新によってrollForwardの値が無視されなくなったら、元のYamlに戻すためのIssueが作成されていること
- actions/setup-dotnet のPRがリリースされている場合
- actions/setup-dotnetのバージョンを更新し、ワークフローが正しく動作するか確認できていること