Verify bundled deps using CI
まだ誰も着手していません。
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 13時間
- マージ済み PR(30日)
- 96
説明
Description
I am the author of https://github.com/php/php-src/blob/7db647dd99/.github/actions/verify-generated-files/action.yml and I would be happy if this integrity concept can be extended also to all extenal/bundled deps like PCRE [1], Unicode tables [2] etc.
The expected behaviour is zero changes after the update is run. This will prevent hiding bad code and prevent human mistakes.
- [1] PCRE2 https://github.com/php/php-src/pull/14498
- [2] Unicode tables https://github.com/php/php-src/pull/7502#issue-1000424830 /w update steps described
- [3] XSSE https://github.com/php/php-src/pull/18413
- [4] uriparser https://github.com/php/php-src/pull/19711
- [5] IR https://github.com/php/php-src/commit/2ff7a18bdc8e1ce184c8df312fe87a178f775761
- [6] timelib https://github.com/php/php-src/commit/a0329dbab009d984926f8817359ba5d83195d960 - https://github.com/derickr/timelib/tags
- [7] xxHash https://github.com/php/php-src/pull/20064
- [8] https://github.com/php/php-src/tree/master/ext/fileinfo/libmagic
- [9] https://github.com/php/php-src/tree/master/ext/standard/libavifinfo https://github.com/php/php-src/pull/21250
- [10] https://github.com/php/php-src/tree/master/ext/mbstring/libmbfl
- [11] https://github.com/php/php-src/tree/master/ext/bcmath/libbcmath
- [12] https://github.com/php/php-src/tree/master/ext/dba 3x libs
- [13] https://github.com/php/php-src/tree/master/ext/hash/murmur (impossible - https://github.com/php/php-src/pull/6059#issuecomment-692012970)
- [14] https://github.com/php/php-src/tree/master/ext/hash/sha3
- [15] https://github.com/php/php-src/tree/master/ext/lexbor/lexbor
- [16] https://github.com/php/php-src/tree/master/ext/dom/lexbor
- [17] https://github.com/php/php-src/tree/master/ext/gd/libgd
This was probably not done yet to not slow down the testing pipelines. The solution is to run the integrity verification of the external sources as a separate workflow only when the source files are changed and always in nightly.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
.github/actions/verify-generated-files/action.yml から始め、issue に記載されている未チェックのバンドル依存関係ディレクトリ(IR、libmagic、libavifinfo、libmbfl、libbcmath、libgd を含む)を確認します。分離された workflow の変更されたソースと nightly の動作を定義し、その後、該当する各更新が整合性チェック後に変更をゼロにすることを検証します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c, github-actions
- 領域
- build-system, ci-cd, security
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100