Skip to content

Conversation

@startaq
Copy link

@startaq startaq commented May 16, 2023

This GitHub Action will export the current KiCad schematic as PDF file, which will then be downloadable as an artifact from the GitHub interface.

It's currently set to manually run only, but could be changed to run on every commit.

You can see an example run here: https://github.com/startaq/ceda-schematics/actions/runs/4991817943

Copy link
Contributor

@giomba giomba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi!
In order to avoid installing the packages every time that this action is run, I actually prepared a Docker image for this purpose. This should be faster, because the image can be cached by Github and run more often. Unfortunately, I haven't added it to the repository's actions, yet.

The image is built using the Dockerfile in the repository root, and I pushd it here:
https://hub.docker.com/r/giomba/ceda-kicad-export-pdf

So, can you modify this action in order to use that image?

Here is a similar example that I've done for the disassembly:
https://github.com/GLGPrograms/ceda-rom-disassembly/blob/main/.github/workflows/actions.yml

Also: I think it would be nice to have a link to the latest generated PDF on the main README.md. What do you think?

Regarding "when to run": let's try how long it takes to complete, and maybe we can even run it for every commit.
@giuliof any idea about this? Maybe we can run only tagged version, but how do we decide when to tag? Since it's still WIP, I would opt for "run on every commit" (as long as it doesn't take too much time to run)

Thank you for your contribution. :-)

@giuliof
Copy link
Contributor

giuliof commented May 17, 2023

Regarding "when to run": let's try how long it takes to complete, and maybe we can even run it for every commit. @giuliof any idea about this? Maybe we can run only tagged version, but how do we decide when to tag? Since it's still WIP, I would opt for "run on every commit" (as long as it doesn't take too much time to run)

I was thinking about it. Since the circuit reverse engineering is starting to take shape, I was trying to write down a sort of milestone plan. Each time we complete one of these bigger steps, which can take some messy intermediate commits, we can trigger the pdf build (by tagging or manually). We can leave the "singe commit inspection" on cadlab. I have linked this project there and we already have the real time schematic rendering (and a graphical diff too!)

@startaq thanks for your interest in this project, do you have this computer too?

@startaq
Copy link
Author

startaq commented May 17, 2023

I can try to do some experiments and see how it works using the Dockerfile, but I actually think that you won't gain much since GitHub fetches all packages locally from the Azure network and installing is fast.

In my tests generating the PDF took about 2 to 3 minutes, so it won't be a problem to do it on all commits. I don't think you can link to artifacts though (URLs contain a unique identifier). My suggestion would be to make an action to create a GitHub release on tagged commits that contains the PDF.

As for me, I'm a developer working on MAME and currently adding support for this computer to it. All the hardware and software documentation you did is very helpful here.

@giuliof
Copy link
Contributor

giuliof commented May 19, 2023

In my tests generating the PDF took about 2 to 3 minutes, so it won't be a problem to do it on all commits. I don't think you can link to artifacts though (URLs contain a unique identifier). My suggestion would be to make an action to create a GitHub release on tagged commits that contains the PDF.

Ok, in that case we can go on with build for each commit. I leave the PR merge to @giomba, which had already done some steps on PDF generation in the repo.

As for me, I'm a developer working on MAME and currently adding support for this computer to it. All the hardware and software documentation you did is very helpful here.

Thank you! I'm happy that this hobby project can be useful to someone. Have you seen the other related repositories with generic informations and code disassembly?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants