Merged
Conversation
439d231 to
8a355a3
Compare
In attempt to unify the tooling that generates API schemas from code, this is extracted into its own action for a more modular approach.
cf151f8 to
802c850
Compare
3efeaf4 to
20c7419
Compare
This is another bash snippet that's copy pasted in every single project and slightly modified at times without it flowing back properly.
90c131e to
fb8018a
Compare
This workflow is composed of the reusable actions and should over sane defaults, while allowing usage in a matrix build strategy for projects with multiple API specs. The jobs are organized in such a way that early failures prevent doing useless work - e.g. generating a postman collection or SDKs from an API spec that is outdated has no purpose, as that has already been done in previous commits/the default branch.
stevenbal
reviewed
May 13, 2025
Collaborator
stevenbal
left a comment
There was a problem hiding this comment.
@sergei-maertens the approach looks good to me, I think it's nice to have the workflow that combines them all 👍
6ee4952 to
ee08778
Compare
This still uses the same underlying tool, but with some enhancements: * the npm package is installed (and initialized) with a particular supported version range. Crucially, the package itself is picked up by the actions cache, so it shouldn't need downloading from maven every time, which frequently has outages * the separate steps are now moved into a (default) configuration file for which languages/SDKs to generate * you can provide your own config file in your project/repository to pin the generator version and decide which SDKs to generate
ee08778 to
bed0b06
Compare
620671c to
2c8e07b
Compare
* Passed wrong param down to action from workflow
2c8e07b to
93460c9
Compare
stevenbal
reviewed
May 19, 2025
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
So, reason for these changes is that we essentially have some interesting snippets that would benefit from being centralized, while still allowing flexibility. Personally, I want to stop maintaining repeated CI code in https://github.com/GPP-Woo/gpp-zoeken and https://github.com/GPP-Woo/gpp-publicatiebank, but also in https://github.com/open-formulieren/open-forms which also publishes its API checks and performs this kind of quality control on them.
I've tried to do this in a way that should not be too invasive and still offer great flexibility.
My design constraints I've taken into account are
backenddirectory, that should still work (currently untested)The approach I've taken for this is
Validation
I'm running these actions and/or workflows in several projects to verify that this setup works for (almost) everyone. Below the status of each project:
maykinmedia/open-archiefbeheermonorepo, but they don't seem to publish their OAS