www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - setup-dmd GitHub action

reply WebFreak001 <d.forum webfreak.org> writes:
I made a GitHub Actions action and published it on the GitHub 
marketplace which sets up DMD on Windows, Linux and OSX in the 
virtual environment on a GitHub Actions runner.

It supports any stable release (theoretically also below 2.064) 
and any pre-release denoted with the -beta.1 suffix for example. 
It can also use the nightly builds from the downloads page and 
it's very easy to use.

I first tried to use the dlang runner which has an open PR on the 
actions repository right now but it turned out it limits it to 
running as docker and only ubuntu, so I instead made this 
typescript action which runs on all operating systems and uses 
the APIs to download & cache the tools so the builds are really 
quick.

Marketplace: https://github.com/marketplace/actions/setup-dmd
GitHub: https://github.com/WebFreak001/setup-dmd

(well while writing this forum post I saw that there is another 
project which does the same but now it's already too late, I did 
search for something when I started working on this when it 
wasn't there yet :p)
Sep 12 2019
parent reply Dennis <dkorpel gmail.com> writes:
On Thursday, 12 September 2019 at 19:07:30 UTC, WebFreak001 wrote:
 ...
So I've seen GitHub actions pop-up suddenly but I can't figure out what it is. Googling it gives me some high-level generic description about "workflow automation" but I don't see what concrete problem it's trying to solve. Can anyone please explain what's in it for the hobbyist D coder? Also I've seen some articles about it dating back to 2018, but apparently you can only recently sign up for the beta.
Sep 12 2019
next sibling parent WebFreak001 <d.forum webfreak.org> writes:
On Thursday, 12 September 2019 at 20:46:42 UTC, Dennis wrote:
 On Thursday, 12 September 2019 at 19:07:30 UTC, WebFreak001 
 wrote:
 ...
So I've seen GitHub actions pop-up suddenly but I can't figure out what it is. Googling it gives me some high-level generic description about "workflow automation" but I don't see what concrete problem it's trying to solve. Can anyone please explain what's in it for the hobbyist D coder? Also I've seen some articles about it dating back to 2018, but apparently you can only recently sign up for the beta.
it's like Travis CI but directly on GitHub (also it supports running your tests and workflows on windows) I got my beta access today which is why I even got to make this
Sep 12 2019
prev sibling parent reply kinke <noone nowhere.com> writes:
On Thursday, 12 September 2019 at 20:46:42 UTC, Dennis wrote:
 On Thursday, 12 September 2019 at 19:07:30 UTC, WebFreak001 
 wrote:
 ...
So I've seen GitHub actions pop-up suddenly but I can't figure out what it is. Googling it gives me some high-level generic description about "workflow automation" but I don't see what concrete problem it's trying to solve. Can anyone please explain what's in it for the hobbyist D coder? Also I've seen some articles about it dating back to 2018, but apparently you can only recently sign up for the beta.
Seems like a tighter integration of Azure Pipelines (somewhat adapted) into GitHub, an obvious move by Microsoft to foster their position. So Windows/Linux/macOS on x86_64 (Azure) hosts, max. 6 hours runtime per job, max 20 jobs in parallel (Azure: 10).
Sep 12 2019
parent reply Mihails <none none.none> writes:
On Thursday, 12 September 2019 at 22:00:11 UTC, kinke wrote:
 Seems like a tighter integration of Azure Pipelines (somewhat 
 adapted) into GitHub, an obvious move by Microsoft to foster 
 their position. So Windows/Linux/macOS on x86_64 (Azure) hosts, 
 max. 6 hours runtime per job, max 20 jobs in parallel (Azure: 
 10).
Cleaned up workflow yml syntax and typescript API stand out as a major improvement for me compared to old Azure. Also streamlined docker integration. There is much less boilerplate involved overall. And it is worth mentioning that even before that Azure was among the best available CI options if you need to test a project on all 3 major OS, I can't remember any other free CI out of my head which provides windows/linux/macos runners without having to maintain separate test scripts for those. So essentially Github Actions takes existing top CI offer and makes it easier to use.
Sep 13 2019
next sibling parent Dennis <dkorpel gmail.com> writes:
On Friday, 13 September 2019 at 10:51:28 UTC, Mihails wrote:
 So essentially Github Actions takes existing top CI offer and 
 makes it easier to use.
Thanks for the clarification you all!
Sep 13 2019
prev sibling parent kinke <noone nowhere.com> writes:
On Friday, 13 September 2019 at 10:51:28 UTC, Mihails wrote:
 And it is worth mentioning that even before that Azure was 
 among the best available CI options if you need to test a 
 project on all 3 major OS, I can't remember any other free CI 
 out of my head which provides windows/linux/macos runners 
 without having to maintain separate test scripts for those.
True, but I've just recently become aware of and experimented with Cirrus CI, which seems like a serious contender. Open-source projects can use agents with up to 8 x86_64 cores and up to 24 GB of memory. They also feature Windows/Linux/macOS/*FreeBSD* agents, docker support, max 2 hours runtime per job, and max 13 parallel jobs per user/contributor (not per GitHub organization/repo!)... So for those requiring powerful CI machines, a Cirrus Linux agent with 8 cores is obviously way faster than an Azure Linux agent with 2 cores. https://cirrus-ci.org/
Sep 14 2019