Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate software/compiler compatibility table automatically #2407

Open
SimeonEhrig opened this issue Oct 2, 2024 · 5 comments
Open

generate software/compiler compatibility table automatically #2407

SimeonEhrig opened this issue Oct 2, 2024 · 5 comments

Comments

@SimeonEhrig
Copy link
Member

Keep the software/compiler compatibility table up to date is hard to do. I already implemented a script, to generate the markdown table from a json config file.
The job generator already know all valid combinations, except for MacOS and Windows. Therefore it makes sense to combine the table generator script with the job generator to automatically generates the compatibility table for Linux.

@SimeonEhrig
Copy link
Member Author

@psychocoderHPC What do you think about a bot, which generates the table and push it to the repository before a PR is merged? So it means the bot automatically generate/update the markdown file with the table which we simply link in the README.

@fwyzard
Copy link
Contributor

fwyzard commented Oct 2, 2024

Do you mean to generate the table based on what the CI tests, or based on which tests actually pass ?

@psychocoderHPC
Copy link
Member

I like the idea. I am not sure if I would invest time into a bot.
The reason for it is that the bot must run somewhere and it is again something where we need to poke our IT any time the bot is down. I am also not sure if your CI get always triggered twice in case the bot updates the readme. Another issue can be that updating the local branch is required to avoid conflicts in case the bot updates the readme.

I would be happy to have a script like the current generator which uses the matrix job generator instead of the hand written json.
I would also be fine if the GitHub action tests were not in the table.

@SimeonEhrig
Copy link
Member Author

SimeonEhrig commented Oct 2, 2024

Do you mean to generate the table based on what the CI tests, or based on which tests actually pass ?

yes

I like the idea. I am not sure if I would invest time into a bot.

I agree that it should be not bot, it should be a GitHub Actions. Something which needs no extra system to maintain.

I thought about, that the table is generated when we hit the merge button. Than it simply generates the table, do a commit, maybe squash and afterwards the actual merge is done. Therefore the change table will not appears in PR but on the dev branch.
And I suggested an extra file, which is not touched by a developer to avoid merge conflicts.

@SimeonEhrig
Copy link
Member Author

I did a short check. Looks like I can do a CI job during the merge process: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue#triggering-merge-group-checks-with-github-actions
However it does not look esay. Therefore we have two options to integrate the generator:

  • The generator generates the table and merge it automatically.
  • There is a CI job, which generates the table and check if it different compare the file which is exist on the branch. If it different, the job fails and blocks the merge. Then the user needs to generate the file by hand and push it via commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants