Github Actions now support D out of the box!

Mathias LANG geod24 at gmail.com
Fri Aug 21 02:03:40 UTC 2020


Hi everyone,
Almost a year ago, Ernesto Castelloti (@ErnyTech) submitted a PR 
for Github's "starter-workflow" to add support for D out of the 
box (https://github.com/actions/starter-workflows/pull/74). It 
was in a grey area for a while, as Github was trying to come up 
with a policy for external actions. I ended up picking up the 
project, after working with actions extensively for my own 
projects and the dlang org, and my PR was finally merged 
yesterday (https://github.com/actions/starter-workflows/pull/546).

Starter workflow are suggested to you when you go to the 
`Actions` tab of a Github repository, or when you first make one. 
They are templates you can use to easily set-up a CI. Thanks to 
the work of Mihails Strasuns (@Dicebot) we have an action to 
install the compiler on all three platforms 
(https://github.com/dlang-community/setup-dlang), which this 
workflow use.

This is how it looks:
https://pbs.twimg.com/media/Ef58CrdU0AA2R7W?format=jpg&name=4096x4096

Using actions have several benefits over Travis:
- Very easy to set up cross platform (Linux, Mac, Windows);
- Usually faster machines;
- Better integrated with Github;

One major downside is that you can't re-triggger a single matrix 
row in a workflow, hence if your CI is flakey, you're going to 
have a bad time.

Another great thing that is easy to setup with actions is 
automatically upload documentation. You can see an example here: 
https://github.com/bpfkorea/agora/blob/08a628ab8e7e38738a88f4c72dc0b42d43da185c/.github/workflows/main.yml#L125-L187
I hope to extract it to an action at some point so anyone can set 
it up with a single click.


More information about the Digitalmars-d-announce mailing list