-
I'm adding a CI/CD workflow to my PCB designs, using GitHub Actions. I saw the suggestion (in topic #624) of embedding the library into your project repository as git submodules, but this looks like a plan B to me because then for every update in the global library I would have to do an immediate push of it, as well as a pull in the project, whereas with standard KiCAD those changes are immediate. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @Strooom ! You have a lot of options. But I'm not sure the submodules is such a problem. First thing: a "Global KiCad" library seems a really bad idea. How do you plan to share your design with other people? You'll need to send them the above mentioned lib, right? What do you plan to use? If you are using a repo for the design, isn't using a repo also logical for the lib? So I think that submodules are the way to go. I guess your problem is related to the dynamic of using it, I guess you want a fast iteration method for: change component in lib, update PCB, see the result, if not ok go to change the component again. Right? If this is the case you can avoid the problem by temporarily doing the changes to the copy of the submodule you have in your main repo. Once you finished with iterations, you can copy the modified lib to its main repo. So yes, you have to push in one repo and pull in any other repo using the lib. But only when really needed, not all the time. If you still need a "download" mechanism: of course you can. But then the question is: download from where? And this becomes more problematic when you only use GitHub actions. You can checkout your project using one GitHub Action and then download the lib using another, finally just run KiBot GitHub Action. |
Beta Was this translation helpful? Give feedback.
Hi @Strooom !
You have a lot of options. But I'm not sure the submodules is such a problem.
First thing: a "Global KiCad" library seems a really bad idea. How do you plan to share your design with other people? You'll need to send them the above mentioned lib, right? What do you plan to use? If you are using a repo for the design, isn't using a repo also logical for the lib? So I think that submodules are the way to go.
I guess your problem is related to the dynamic of using it, I guess you want a fast iteration method for: change component in lib, update PCB, see the result, if not ok go to change the component again. Right? If this is the case you can avoid the problem by temporarily do…