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
Separating server start/stop from CI test execution #2280
Conversation
02071b4
to
45ddc36
Compare
3a4dd44
to
881305e
Compare
881305e
to
9d7d309
Compare
rebased, |
e6d6864
to
1820f1d
Compare
The starting and stopping of an Openfire instance is now extracted from each of the individual test phases, removing code duplication. Maybe we should add this into a new Github Action? The github action that is used to execute the SINT tests remains experimental. Instead of scripts in the root of the source tree, the individual test phases are now implemented in the Github Actions configuration. Less portable (but did we need this), better usage of built-in Github caching etc. The setup makes use of 'github artifacts' to move the compiled Openfire instance from runner to runner. I frequently observe that sharing this artifact (which consists of 600+ individual files) can be quite slow (takes up to a minute). I suspect that this has to do with the file count, not so much the file size. I've replaced the artifact with a TAR archive to speed up this process. |
Cross-posting from open_chat: There's a lot of inlined code there. Would we be better creating actions for those too? Failing that, we've also got the ci-tooling repo - maybe we should be putting this stuff in there? |
I'm not a fan of the inline code either. Moving that to Github Actions implies re-usability, as does moving them into the ci-tooling repo. Maybe having seperate files isn't the worst thing after all? Can/should we add those in the |
9de89a0
to
d02f7ee
Compare
Rebased. |
aeaa74b
to
707dcd1
Compare
eded84b
to
da2dd5c
Compare
da2dd5c
to
efc12e8
Compare
I have migrated the scripts that start and stop a server for CI purposes into new Github Actions, that are part of this repository (under The ConnectivityTests (that had all the inline code) has also been moved to a Github Action. I'm not sure if this is the best move (this perhaps deserves its own proper Maven project/repo) - but its small enough for this solution to be acceptable to me. I think. I'm still using the experimental Github Action that's in my personal Github account to run the SINT tests. This needs to be replaced with a proper solution, which we'll work on in contact of the project in https://xmpp-interop-testing.github.io/ |
Oh, one thing that we should look into: can we move dependencies specific to the new Github Actions from the workflow to those Github Actions? I believe that the workflow now still sets up Java etc. Is doing that in the workflow (rather than in an action) sensible? |
If they're specific to the action, they should move across to the action
To my mind, an action should be independently useful. An action that runs a Java thing should ensure that Java is installed. |
I see what you mean. guusdk/sint-action could run anywhere in any project, so sets up Java. guusdk/openfire-startserver-action runs Openfire, so needs Java, but perhaps could assume it (in the readme?) |
I've now moved all Java setup from the CI flows into the steps that depend on them. I've not touched the database tests, which also have a few. |
9f57a23
to
ea6a6aa
Compare
The execution of the integration tests is now no longer using an action from my personal Github account. It now uses https://github.com/XMPP-Interop-Testing/xmpp-interop-tests-action With this, I believe that all issues that were intended to be addressed by this PR are addressed. |
I think the desire is for the database upgrade checks to run in two situations.
So presently, the second is not implemented. Maybe it would just be enough to add the |
... Maybe? Shall we move this to another PR? |
No description provided.