Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIの実行条件を変更する #1787

Closed
wants to merge 4 commits into from
Closed

CIの実行条件を変更する #1787

wants to merge 4 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Feb 5, 2022

PR の目的

CIの実行条件を変更する。

カテゴリ

  • ビルド関連
    • Azure Pipelines
    • AppVeyor
    • GitHub Actions

PR の背景

ブランチ名の固定をやめたい

  • GitHubのデフォルトブランチがmainに変更されました。
    これに合わせてブランチ名を変更すると、CIが実行されなくなります。
  • ブランチ名を柔軟に指定できるようにしたいです。
    PR予定がない動作確認用のブランチでも特定のプレフィクスを付加しないとCIが実行されません。
  • 既に想定しているブランチ名と異なる名前のブランチからPRが出されています。
    過去にマージしたPRのうち、いくつかは実行条件で想定されているブランチ名と異なる名称でした。
  • そもそもAppVeyorのジョブとSonarCloudの解析を行うワークフローには、ブランチ名の条件は課していません。

除外条件をそろえたい

  • 各CIで除外対象ファイルに違いがあります。
    このため、特定ファイルの変更を実施した際に実行状況に違いが生じてしまいます。
  • Azure Pipelinesでもワイルドカードがサポートされました。
    現在の対象ファイルを個別に列挙する方法では、新たに対象とすべきファイルがリポジトリに追加されたときに更新し忘れる可能性があります。

GitHub Actionsを手動で実行したい

  • 外部の要因によってワークフローが失敗したとき、コミットの追加以外の方法で再試行できるようにしたいです。
  • AppVeyorとAzure Pipelinesではできています。

PR のメリット

  • どのようなブランチ名であってもCIが実行されるようになります。
  • 除外条件が統一され、実行タイミングが一致します。
  • すべてのCIでビルドを手動実行できるようになります。

PR のデメリット (トレードオフとかあれば)

仕様・動作説明

  1. 実行条件からブランチ名の記述を削除しました。
  2. Azure Pipelinesで除外ファイルをワイルドカードで指定しなおしました。
  3. 各CIで同じファイルないしディレクトリが除外対象となるようにしました。
  4. workflow_dispatchイベントに対応させ、ワークフローを手動実行できるようにしました。

PR の影響範囲

  • すべてのCI

テスト内容

  • 事前に除外対象ファイルの変更をコミットして、実行されないことを確認済みです。
  • リポジトリのデフォルトブランチにこの作業ブランチを設定して、GitHub Actionsワークフローを手動実行できるようになったことを確認済みです。

関連 issue, PR

#1761 … 直近でブランチ名が想定と異なっていた事例

参考資料

2020-10-01付: The default branch for newly-created repositories is now main | GitHub Changelog
2021-09-08付: Support for wild cards and conditional expressions in YAML pipeline files | Microsoft Docs
Manually running a workflow - GitHub Docs

@ghost ghost added azure pipelines appveyor GitHub Actions GitHub Actions関連 labels Feb 5, 2022
@ghost
Copy link
Author

ghost commented Feb 5, 2022

…ということを #1752 の対応時に感じたので、とりあえず出してみます。
反応次第では取り下げますのでご意見ください。

@sonarcloud
Copy link

sonarcloud bot commented Feb 5, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@AppVeyorBot
Copy link

Build sakura 1.0.4020 completed (commit b16f2f8c87 by @kazasaku)

@berryzplus
Copy link
Contributor

デフォルトブランチ名を main に変える件は、

何年か前に「変更を検討しませんか?」の issue が立った気がします。
たしか、the default branch for newly created repository ってことは関係ないね!が結論だったような。

というか、この対応の内容って
GitHubが「新規リポジトリのデフォルトブランチをmainに変えた」こととは関係ないような(笑

「CIを任意のブランチで実行できるように改良する」ですかね、実態は。

「CIの実行条件を変更する」でも間違いではないけれど、ニュアンスが大分違うような。

@ghost
Copy link
Author

ghost commented Feb 5, 2022

CIを任意のブランチで実行できるように改良する

本文に「ブランチ名を柔軟に指定できるようにしたいです。」と書きました。

このPRは対象ブランチ名・除外ファイルパス・対象イベントの3つをまとめて「CIの実行条件」としています。

@ghost
Copy link
Author

ghost commented Feb 5, 2022

やっぱりまとめすぎですね。分割します。

@ghost
Copy link
Author

ghost commented Feb 5, 2022

#1788 を出しました。
残り2つは後程。

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants