Thread overview
Github Actions now support D out of the box!
Aug 21
Dennis
August 21
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.
August 21
Very nice! Thanks to everyone who helped make this happen.
August 21
On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:
> 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).

Excellent!

One thing is confusing me about the template: why is `--compiler=$DC` passed to dub? Does it use the wrong compiler without it?
August 21
On Friday, 21 August 2020 at 10:01:21 UTC, Dennis wrote:
> On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:
>> 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).
>
> Excellent!
>
> One thing is confusing me about the template: why is `--compiler=$DC` passed to dub? Does it use the wrong compiler without it?

dub will use the correct compiler as long as it's the only D compiler you install. I agree this could be improved by omitting that argument.
August 21
Am 21.08.20 um 04:03 schrieb Mathias LANG:
> [...]

Thanks a lot for this! I just switched to using this instead of Travis CI in one of my projects. Works great!
August 22
On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:
> [...]

Thanks for the effort on this, I'll definitely be checking it out!

--Jon

August 22
On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:
> 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).
>
> [...]

Fantastic, thanks a lot. I already using it on github.com for private projects. Hopefully Github Actions is released on Github Enterprise soon, then I can also use it at work too.

Kind regards
Andre
October 04
On Friday, 21 August 2020 at 02:03:40 UTC, Mathias LANG wrote:
> 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).

A thank you to everyone who helped put this together. I just started using it, and it works quite well. It's a very valuable tool to have!

--Jon