Nicer platform sync workflow: parallel and with Dev Center markdown generation #672
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Full result example here: https://github.com/heroku/heroku-buildpack-php/actions/runs/7134065350
Parallel syncing of stacks
Syncing platform package repo updates from the development to the stable "bucket" is currently done using a GHA workflow that needs to be kicked off separately for each stack:
Instead, we're now running it in parallel for all stacks. That's faster, less manual work (for dispatching), and allows easy addition of further jobs after all stacks have synced:
GUS-W-14627856
Generating "PHP Support" contents
The "PHP Support" article on Dev Center has tables for runtimes, built-in extensions, third-party extensions, Composer, and web servers. These tables are generated by tooling that is fed the repository URLs for all stacks as input. The output is the markdown for the tables linked above.
Since we're now syncing all stacks in parallel, we can do that at the end of the sync workflow!
In fact, we can even use the public Dev Center API to fetch the raw article markdown, patch the generated sections with the help of their start/end markers, and output the whole document for copy/pasting:
With a diff, too:
And based on the improvements added in #671, it will even warn if the repository contains unexpected versions, or print notices if allowed versions are not there:
GUS-W-14616720
GUS-W-14627917