# Package Compiler GitHub Actions Build Template

**URL:** <https://discourse.julialang.org/t/package-compiler-github-actions-build-template/124378>\
**Category:** Package Management\
**Tags:** announcement\
**Created:** [January 2, 2025, 4:47pm UTC](https://discourse.julialang.org/t/package-compiler-github-actions-build-template/124378 "2025-01-02T16:47:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kyjor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kyjor/32/48132_2.png) [@Kyjor](https://discourse.julialang.org/u/Kyjor)\
**Post date:** [January 2, 2025, 4:47pm UTC](https://discourse.julialang.org/t/package-compiler-github-actions-build-template/124378/1 "2025-01-02T16:47:42Z")

</div>

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. 🙂

> **[GitHub - Kyjor/PackageCompiler-GitHubActions-BuildTemplate: Starter template for github actions to compile...](https://github.com/Kyjor/PackageCompiler-GitHubActions-BuildTemplate)**
>
> Starter template for github actions to compile Windows, Mac, and Linux images using PackageCompiler.jl

---

<div class="post-metadata">

**Author:** ![g-gundam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/g-gundam/32/47593_2.png) [@g-gundam](https://discourse.julialang.org/u/g-gundam)\
**Post date:** [January 3, 2025, 9:31pm UTC](https://discourse.julialang.org/t/package-compiler-github-actions-build-template/124378/2 "2025-01-03T21:31:12Z")

</div>

## 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](https://global.discourse-cdn.com/julialang/optimized/3X/7/a/7a1bf6b58332c5b5c8499f46c29e994e39b0edde_2_690x54.png)

- I clicked on the **Use this template** button and used it to generate [TestProject.jl](https://github.com/g-gundam/TestProject.jl).

## Questions

1. Is it expected for the [action](https://github.com/g-gundam/TestProject.jl/actions/runs/12593846567/job/35100450147) 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?

 ![image](https://global.discourse-cdn.com/julialang/original/3X/0/c/0cc4f916273ca80e687aabf7c69eb5f8d536ae95.png)

---

<div class="post-metadata">

**Author:** ![Kyjor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kyjor/32/48132_2.png) [@Kyjor](https://discourse.julialang.org/u/Kyjor)\
**Post date:** [January 3, 2025, 10:03pm UTC](https://discourse.julialang.org/t/package-compiler-github-actions-build-template/124378/3 "2025-01-03T22:03:27Z")

</div>

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](https://github.com/g-gundam/TestProject.jl/actions/runs/12593846567) at the bottom of the page there are downloads for each artifact (only showing windows and mac because of the previously-mentioned mistake)  
 ![Screenshot From 2025-01-03 17-00-53](https://global.discourse-cdn.com/julialang/original/3X/b/4/b413787552ef80fd0dd7c81751aa487475fee3a1.png)
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.
