-
Notifications
You must be signed in to change notification settings - Fork 17
Change workflow to use JobSets #51
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
Change workflow to use JobSets #51
Conversation
VIPQualityPost
commented
Apr 14, 2025
- Added workflow for ERC/DRC and production documentation for AYAB Shield
- Changed workflow from huge pile of kicad-cli to using jobsets so that all output settings are managed between all AYAB KiCad based projects
- Merges in reference material (schematic pdf, assembly pdf, renders, step model of PCBA) in after a PR is merged into main, keeping live repo up to date
- Add README for AYAB Shield with nice workflow badges.
Wow, that looks like a mess with all my commits - I thought it would squash all of them! |
In case you don't know, you can squash your branch's commits by running |
… with kicad-cli add workflow dispatch to manually run jobs typo Workflow name clarity missing $ on env var Fix a few more typos fix filepaths typo for shield project name remove conditional check for merged documentation build typo missing $ another missing $ add ghostscript dependency, fix readme name and remove old renders Fix ghostscript file naming add reference path update BOM export script update bom formatter fix JobSet POS file format + python formatter kicad pos naming is driving me nuts UGHHH Try to fix ordering of committing and generating files Oops broke workflow broke it.. again Wrong git checkout flag Missing | Try to fix git / gh interop Fix pos file naming Remove git junk kicad is killing me Ugh Add upload materials back to repo Update READMEs
@jonathanperret Is the only remaining item on this that we should remove the push to repo as part of the action and rely on contributors to include up-to-date assets when opening PRs that touch hardware? |
We could handle it similar to the automatic builds we do for the Desktop now - so making the generated artifacts easily available for test by make them accessible in the action, and attach them to a github release in case of a release tag is pushed. |
I agree, it just becomes annoying that it's not easy to point people to a live file of the schematic for viewing. But maybe we should add a permalink in the readme pointing to KiCanvas for live view? That may be a very nice solution... |
Also so these issues are linked: This would address #50 |
Okay, I think that we're all on the same page about this PR now? |
I agree that having up-to-date output files in the repo is actually pretty convenient for this kind of project. Being able to point people to a schematic (of any particular revision, to boot) is one benefit; another one is having GitHub show diffs for e.g. board images, like what I did manually in #48 (comment) which can be very useful as the diffs of KiCad files aren't generally helpful. So while I'm generally not a fan of committing generated files, I think it may be worthwhile in this case. Now, one option is to do nothing workflow-wise and as you said @VIPQualityPost to rely on contributors to run the asset-generating actions. Ideally KiCad would have an option to auto-update the outputs on save but it looks like this doesn't exist yet. We could define a pre-commit hook but that would still require people to install it and run Git from the command-line. An improvement over that is to have a GitHub Actions workflow that adds a file-generation commit onto any branch that has changes to the KiCad files — which is almost what you have here except that it currently pushes only to I therefore suggest:
I hope this doesn't sound like too much rework, but I understand if it does. Any version of this PR is already a great step forward (thank you!) so feel free to take or leave what you want from these remarks — and there's always the possibility to improve things incrementally in the future. |
Heh, looks like I took so long to write that wall of text that you went ahead and picked an option. Which is great, let's move forward! Not having the generated outputs in the repo is certainly a valid option. Maybe just look into triggering on |