# Github Actions

**URL:** <https://forum.crystal-lang.org/t/github-actions/3339>\
**Category:** Community\
**Created:** [June 2, 2021, 5:24am UTC](https://forum.crystal-lang.org/t/github-actions/3339 "2021-06-02T05:24:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![stakach](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/stakach/32/58_2.png) [@stakach](https://forum.crystal-lang.org/u/stakach)\
**Post date:** [June 2, 2021, 5:24am UTC](https://forum.crystal-lang.org/t/github-actions/3339/1 "2021-06-02T05:24:35Z")

</div>

Been working with Github Actions over the last few weeks and thought others might also be interested in a good template for running specs etc

> <https://github.com/crystal-community/jwt/blob/master/.github/workflows/ci.yml>

this does the following:

1. runs specs when something changes
2. runs specs once a week (Monday morning)
3. ensures specs pass on version 1 and latest
4. specs are run on nightly but don’t cause the badge to go red if this fails
5. checks the code files are formatted properly
6. runs ameba over the code to highlight any potential issues

We also use Actions to build docker images

> <https://github.com/PlaceOS/triggers/blob/master/.github/workflows/build-dev-image.yml>

Would love to know if anyone else is doing anything interesting too 🙂

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [June 2, 2021, 8:43am UTC](https://forum.crystal-lang.org/t/github-actions/3339/2 "2021-06-02T08:43:55Z")

</div>

In case you missed it, there is also a great dedicated GitHub action [install-crystal](https://github.com/oprypin/install-crystal/) and a configurator tool for that at [Configurator - install-crystal action](https://oprypin.github.io/install-crystal/configurator.html)

---

<div class="post-metadata">

**Author:** ![stakach](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/stakach/32/58_2.png) [@stakach](https://forum.crystal-lang.org/u/stakach)\
**Post date:** [June 2, 2021, 11:54am UTC](https://forum.crystal-lang.org/t/github-actions/3339/3 "2021-06-02T11:54:04Z")

</div>

that configurator is pretty cool!

---

<div class="post-metadata">

**Author:** ![will](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/will/32/1280_2.png) [@will](https://forum.crystal-lang.org/u/will)\
**Post date:** [June 7, 2021, 8:42pm UTC](https://forum.crystal-lang.org/t/github-actions/3339/4 "2021-06-07T20:42:17Z")

</div>

Are there any github actions examples that build artifacts on the various mac versions to be able to use in a homebrew tap? I’m working on a CLI thing that would be cool to have people install without needing to install crystal if they don’t have it so pre-building the binary is necessary, but also I’m not sure if the homebrew main project would accept it.

---

<div class="post-metadata">

**Author:** ![maxfierke](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/maxfierke/32/1209_2.png) [@maxfierke](https://forum.crystal-lang.org/u/maxfierke)\
**Post date:** [June 8, 2021, 4:03pm UTC](https://forum.crystal-lang.org/t/github-actions/3339/5 "2021-06-08T16:03:22Z")

</div>

@will I’ve got some stuff setup for that with my tool mstrap: [mstrap/.github/workflows at master · maxfierke/mstrap · GitHub](https://github.com/maxfierke/mstrap/tree/master/.github/workflows)

It’s got building with notarization and code-signing for macOS. Could probably expand it to do different OS version targeting by setting `MACOSX_DEPLOYMENT_TARGET` in the environment.

---

<div class="post-metadata">

**Author:** ![will](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/will/32/1280_2.png) [@will](https://forum.crystal-lang.org/u/will)\
**Post date:** [June 8, 2021, 6:23pm UTC](https://forum.crystal-lang.org/t/github-actions/3339/6 "2021-06-08T18:23:01Z")

</div>

Awesome, thank you!
