-
Notifications
You must be signed in to change notification settings - Fork 3
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
First draft of Continuous Integration doc #17
base: main
Are you sure you want to change the base?
Conversation
GitHub actions are integrated in Tudat development process to ease and automate the build and release of conda packages. | ||
|
||
Most importantly, the `webservices-dispatch-action repository <https://github.com/tudat-team/webservices-dispatch-action>`_ contains code that is used to trigger a build of a conda package. | ||
More information on how this action works is given in that repo's `README <https://github.com/tudat-team/webservices-dispatch-action/blob/main/README.md>`_. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The readme mainly gives information on what it does, and less on how it works. Could you add (here or in the README) some details of what each file in the webservices repo does, and how exactly its interaction with other repos works?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added more information on this in the webservices-dispatch-action README with 9150bd4, in new Repo structure
and Communication with other repositories
sections.
@geoffreygarrett could you, when you have time, take a look at the Communication with other repositories section? I think that the order in which the actions communicate with each other may be incorrect. And I believe that this setup is clearer to you than it is to me.
In both cases, if changes are caused by the action, they are automatically pushed first to the project repository, then to the feedstock repository. | ||
As a reminder, pushing to the feedstock repository will then trigger a build of the conda package trough Azure (as discussed :ref:`below<Azure>`). | ||
|
||
Last but not least, this action is triggered automatically either every 24 hours (nightly), or by adding a ``[CI]`` or ``[rerender]`` tag in a commit to a project repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tags have to be at the beginning of the commit message right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They don't, and the capitalisation also does not matter. This can easily be changed if needed (the tags are detected using these lines of code). I updated the docs with this information in ffe42e8.
.. image:: https://readthedocs.org/projects/tudatpy/badge/?version=latest | ||
:target: https://readthedocs.org/projects/tudatpy/builds/ | ||
|
||
After a full pipeline is completed for all platforms for tudatpy, a trigger is made so the documentation is generated by Readthedocs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where/how exactly is this trigger?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is done trough these settings in Azure. In the Triggers > Build completion. A trigger is set so that the tudatpy-readthedocs-trigger
pipeline is run when a tudatpy-feedstock
pipeline is fully and successfully build. These infos have been added to the docs with 10ac841.
@gaffarelj Apologies for the delay on this. Overall, I think it's very clear, and does a good job of explaining what happens without going into too much detail. I added a few small questions in the docs you wrote, where it would be good to have a little more explanation on how things are put together. If you have time at some point in the future, could you have a look at them? |
Thanks for the comments. I will make modifications to answer them next week 🙂 |
Hi @DominicDirkx and @geoffreygarrett,
I created a new page for the developer docs on Continuous Integration, where I try to describe the most important aspects of everything related to GitHub actions, Azure, Anaconda, and Readthedocs, and how all of them are used with each other to ease the release of tudat/tudatpy conda packages and the API docs.
I am quite sure that I am forgetting some aspects of things, and I may not have gone into enough depth on some technical details. I think I don't especially think about some aspects anymore since they are at the back of my head by now. So please do tell me where you would want to see more details :)
Or more generally, any comment would be appreciated, when you have the time 🙂