Open
Conversation
8ddfd65 to
786f289
Compare
04a1ef9 to
a54e804
Compare
b0a8a87 to
4b2b23b
Compare
280b942 to
475d264
Compare
To give a more modern development expereince we plan to replace our current make and PGXS based build system with one which uses Meson and pg_config to achieve the same thing. Potential advantages: - More modern and pleasant expereince - Parallel tests - Allows for Windows support Potential disadvantages: - We may have to manually implement support for odd platforms
This is split out from the previous commit to amke the history easier to read and the commits easier to review.
One of the weird things with the Meson tests for pg_tde is that they are actually install tests so we need to manually run meson install before running meson test.
One of the nice advantages of meson is that test can be run in parallel which we now can take advantage of.
Based on Makefile.darwin in the PostgreSQL project.
Since we plan to only support Meson builds in the future let's move all of our CI jobs over to using Meson. For simplicty we put the build directory outside of the git repository. Also this apparently this fixed a bug in our code formatting job for the frotnend tools so let's also commit the changed formatting. Disable the test timeout in meson since the default timeout is an issue when running with sanitizers.
While we are moving our development builds and CI directly from make to Meson our QA farm and packaging needs more time to migrate to Meson, so to make sure our make file does not break we add a simple CI job which builds pg_tde using make and then runs the test cases.
Now that we are using Meson it is even more annoying that some of our TAP tests write to t/results. And to make it more useful we make sure to output absolute paths on test failure so people easily can use diff.
The instructions are still wrong after this but I did some quick corrections to even be able to update it for adding Meosn support.
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.
Meson gives a more modern development experience while making some features easier to implement in the future. This Meson file calls
pg_configdirectly to get the paths but does not get any of the compiler flags frompg_config.This PR moves the CI to use Meson but since the build and QA teams need extra time to migrate to Meson we keep the makefile and add a new CI job which checks so we do not break it.
Please tell me if this PR is too big and should be split for ease of review.
Pros:
pg_oidc_validatorCons:
Makefile.{plaform}filespg_tdebut for our other extensions that is an issue