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/CDサービスをGitHub Actionsに一本化する #1809

Open
1 of 4 tasks
ghost opened this issue Feb 24, 2022 · 7 comments
Open
1 of 4 tasks

利用するCI/CDサービスをGitHub Actionsに一本化する #1809

ghost opened this issue Feb 24, 2022 · 7 comments
Labels
appveyor azure pipelines CI appveyor など CI 関連 【ChangeLog除外】 GitHub Actions GitHub Actions関連 research 実現可能性調査【ChangeLog除外】

Comments

@ghost
Copy link

ghost commented Feb 24, 2022

やりたいこと

利用するCI/CDサービスをGitHub Actionsに一本化したい。

やりたい理由

  1. どのCIサービスでビルドしたか識別できるようにする必要がある
  2. 各CIサービスの使い分けが不明確
    • 逆に言えば、複数サービスを併用するなら何かしらの理由で使い分けた方がいいと思っています。
  3. AppVeyorは…
    • 並列実行できないため、ビルドの完了を長時間待機しなければならない。
      • 単体テストが増えるにつれて、さらに時間を要するようになるかもしれません。
    • 機能の制約が多いため、自前でいろいろな処理を用意しなければならない。
  4. Azure Pipelinesは…

GitHub Actionsを選んだ理由

  • GitHubに統合されているため、フォークリポジトリなら特に設定せずとも使えます。
  • Azure Pipelinesからフォークされたサービスなので、おおむね同じ使い方ができます。
    • AZPはビルトインタスクが複数定義されいますが、GHAもGitHub Marketplaceに公開されている様々なタスクを利用できます。
    • AZPとGHAは、どちらも actions/virtual-environments の仮想イメージを利用しており、仮想環境のソフトウェア構成が同じです。実行ユーザーにOSの管理者権限が付いてくるのも同様。

検討課題

関連

残作業

#1809 (comment) より転記(2022/09/19 by @berryzplus)

  1. Azure Pipelines上でしか実行されていないジョブをGHAに移す

    • 本体のビルドジョブに含まれるbuild-bmp-tools.batの移し忘れに注意すること。
  2. AppVeyorとAzure Pipelinesのジョブを止める

  3. 不要になる設定ファイル・コード・ドキュメントの更新および削除

    • appveyor.yml
    • appveyor_env.py
    • azure-pipelines.yml
    • parse-buildlog.bat
    • parse-buildlog.py
    • ci/appveyor/*
    • ci/azure-pipelines/*
    • SonarQube.md(要更新:内容がAzure Pipelines用のため、GHA用の記述に修正すべき)
    • ci/build-batchfiles.md(要更新)
    • ci/build-envvars.md(要更新)
    • sakura/githash.bat(要更新:AppVeyor専用の環境変数が残存している)
@ghost ghost added research 実現可能性調査【ChangeLog除外】 CI appveyor など CI 関連 【ChangeLog除外】 azure pipelines appveyor GitHub Actions GitHub Actions関連 labels Feb 24, 2022
@ghost
Copy link
Author

ghost commented Feb 24, 2022

とりあえず立ててみます。
AppVeyorとAzure Pipelinesの利用をやめるという意味を含みますが、併用する理由が生じれば残しても良いです。

@ghost ghost closed this as completed May 5, 2022
@takke
Copy link
Member

takke commented May 5, 2022

私もGHA一本化がいいと思います。

@berryzplus
Copy link
Contributor

どうしましょ?

検討課題「parse-buildlog.py の扱い」は「捨て」の一択で、議論の余地がない気がします。
他の課題も出て来ないようですし、検討は終わりにして「GHAに一本化する」を進めていいんじゃないでしょうか?

「parse-buildlog.py の扱い」を「捨て」にする理由

  • ビルド警告よりも詳細に問題点を報告してくれるツールを既に利用している
  • parse-buildlog.py の解析結果は活用されていない(≒なくてもプロジェクト活動に影響がない)
  • parse-buildlog.py はvs2019に対応していない(≒既に動いていない)

@ghost ghost changed the title 利用するCI/CDサービスを一本化できないか検討する 利用するCI/CDサービスをGitHub Actionsに一本化する May 8, 2022
@ghost
Copy link
Author

ghost commented May 8, 2022

検討課題「parse-buildlog.py の扱い」は「捨て」の一択で、議論の余地がない気がします。
他の課題も出て来ないようですし、検討は終わりにして「GHAに一本化する」を進めていいんじゃないでしょうか?

ではそれで。僕はもう参加できないのでどなたかお願いします。

  1. Azure Pipelines上でしか実行されていないジョブをGHAに移す
    • 本体のビルドジョブに含まれるbuild-bmp-tools.batの移し忘れに注意すること。
  2. AppVeyorとAzure Pipelinesのジョブを止める
  3. 不要になる設定ファイル・コード・ドキュメントの更新および削除
    • appveyor.yml
    • appveyor_env.py
    • azure-pipelines.yml
    • parse-buildlog.bat
    • parse-buildlog.py
    • ci/appveyor/*
    • ci/azure-pipelines/*
    • SonarQube.md(要更新:内容がAzure Pipelines用のため、GHA用の記述に修正すべき)
    • ci/build-batchfiles.md(要更新)
    • ci/build-envvars.md(要更新)
    • sakura/githash.bat(要更新:AppVeyor専用の環境変数が残存している)

なお、AppVeyor対応廃止するなら(先月メインストリームサポートが終了した)VS2017とInnoSetup5も廃止できると思われるのでこれも検討してください。
関係するファイル:

  • installer/Languages/*(old).isl(Inno Setup 5でしか利用されない)
  • installer/Languages/README.md(Inno Setup 5でしか利用されない)
  • tools/find-tools.bat
  • tools/find-tools.md
  • vcx-props/*
  • .vsconfig.vs2017

@ghost ghost reopened this May 8, 2022
@berryzplus
Copy link
Contributor

一本化は、「誰かが勝手にやる」で良いように思っています。
レビュアーの確保が難しいので、自分はレビュー側に回ります。

前提としてAZPのみで実施しているMinGWビルドをGHAで実施するようにactionsを実装する必要があります。
AppveyorとAzure Pipelinesのビルドを止めるのは、依頼があれば自分が実施できるはずです。(たぶん

AppveyorとAzure Pipelinesのためのバッチは、消してしまったほうが分かりやすい気がしています。
消さなくてもよいですが、ルートフォルダのファイルが多過ぎる問題を緩和するために、少なくともルートフォルダから外したい気がします。

@berryzplus berryzplus pinned this issue Sep 18, 2022
@berryzplus
Copy link
Contributor

タスクリストを更新してみました。

@dep5
Copy link
Contributor

dep5 commented Jan 5, 2023

GitHub Actionsってダウンロードにログインが必要じゃないですか?
Artifact download URL only work for registered users (404 for guests) #51
InPrivateウィンドウ(Edge)で試してみるとわかると思います。

nightly.link こんなサイトもあるようですけど、githubが提供しているものではないような?

テストに参加してくれる人が減ってしまうと思います…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
appveyor azure pipelines CI appveyor など CI 関連 【ChangeLog除外】 GitHub Actions GitHub Actions関連 research 実現可能性調査【ChangeLog除外】
Projects
None yet
Development

No branches or pull requests

3 participants