Verify bundled deps using CI
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 40.4k
- Forks
- 8.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 96
Description
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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with .github/actions/verify-generated-files/action.yml and review the unchecked bundled-dependency directories listed in the issue, including IR, libmagic, libavifinfo, libmbfl, libbcmath, and libgd. Define the separate workflow's changed-source and nightly behavior, then verify that each applicable update produces zero changes after its integrity check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, github-actions
- Domain
- build-system, ci-cd, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100