Package Compiler GitHub Actions Build Template

Hey all,

I’m working on a new project, and set up automatic builds with GitHub actions that creates a package compiler app and automatically uploads these artifacts to github. I extracted the foundation of this to an example project, and created this repository template. If any tests fail before the compilation is attempted, the whole process will fail. I haven’t seen anything quite like this, so I thought I’d share this to save people some time. Feel free to raise a pr with any suggestions. :slight_smile:

5 Likes

Trying It Out

  • Let me preface this by saying:
    • I’ve never used GitHub’s templating feature until yesterday.
    • I don’t know very much about GitHub Actions. I’ve used them passively because PkgTemplates.jl has provided them for me, but I’ve never set them up from scratch.
    • I’ve never used PackageCompiler.jl before, but I’ve been curious about it.
  • Basically I am clueless and I apologize for that in advance, but I gave it a try anyway out of curiosity.

image

  • I clicked on the Use this template button and used it to generate TestProject.jl.

Questions

  1. Is it expected for the action to take around 20 minutes to complete?
  2. Where should I expect to find the artifacts it builds?
  3. Do I have to do anything special (like create a git tag) for artifacts to be built?

1 Like

Thanks for trying this out! This is also my first try with github templates so I’m still just figuring it out.

I also realized I accidentally removed the linux upload step, so I just updated the template repo.

As for your questions:

  1. Yes, sadly PackageCompiler takes quite awhile to create executables. If you are using this in a public repo, the runners should be free.
  2. The artifacts will be under the “Summary” for the actions. In your repo, it’s here: Initial commit · g-gundam/TestProject.jl@60731b8 · GitHub at the bottom of the page there are downloads for each artifact (only showing windows and mac because of the previously-mentioned mistake)
  3. Nope, it looks like it worked fine. Just a forewarning that if you want to use this for private repos, it will cut into your monthly minutes very fast.
2 Likes