www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Github Actions now support D out of the box!

reply Mathias LANG <geod24 gmail.com> writes:
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.
Aug 20
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
Very nice! Thanks to everyone who helped make this happen.
Aug 21
prev sibling next sibling parent reply Dennis <dkorpel gmail.com> writes:
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?
Aug 21
parent WebFreak001 <d.forum webfreak.org> writes:
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.
Aug 21
prev sibling next sibling parent Johannes Loher <johannes.loher fg4f.de> writes:
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!
Aug 21
prev sibling next sibling parent Jon Degenhardt <jond noreply.com> writes:
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
Aug 21
prev sibling parent Andre Pany <andre s-e-a-p.de> writes:
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
Aug 22