Skip to content

.NETのバージョン違いによりCIが失敗する #757

Closed
@tsuna-can-se

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のバージョンを更新し、ワークフローが正しく動作するか確認できていること

Metadata

Assignees

Labels

CI/CDGithub Actionsなどの修正不具合現在リリース中のバージョンに不具合・バグがある

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions