Thread overview
Github Actions now support D out of the box!
Aug 21, 2020
Mathias LANG
Aug 21, 2020
Walter Bright
Aug 21, 2020
Dennis
Aug 21, 2020
WebFreak001
Aug 21, 2020
Johannes Loher
Aug 22, 2020
Jon Degenhardt
Aug 22, 2020
Andre Pany
August 21, 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.
August 21, 2020
Very nice! Thanks to everyone who helped make this happen.
August 21, 2020
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, 2020
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, 2020
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, 2020
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, 2020
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