www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Github Action: cross-platfrom D compiler installation

reply Mihails <none none.none> writes:
https://github.com/marketplace/actions/d-compiler-installation
https://github.com/mihails-strasuns/setup-dlang

Main difference from 
https://forum.dlang.org/thread/lrbcmnblvfplkpfaokkh forum.dlang.org is that
this is written using Github Action Typescript API instead of a docker
container and thus allows testing with all platforms supported by Github
Actions.

Example yml:

```
name: Test My D Project
on: [push, pull_request]

jobs:
     test:
         name: Test
         strategy:
             matrix:
                 os: [ubuntu-latest, windows-latest, macOS-latest]
                 dc: [dmd-2.088.0, ldc-1.17.0]
         runs-on: ${{ matrix.os }}
         steps:
             - uses: actions/checkout master

             - name: Install D compiler
               uses: mihails-strasuns/setup-dlang v0
               with:
                   compiler: ${{ matrix.dc }}

             - name: Run tests
               run: dub -q test
```

Example test run: 
https://github.com/mihails-strasuns/d-simpleconfig/commit/5107baedcb5db11cf0076e5c74e3f68594fb495b/checks

Currently only supports DMD and LDC with exact version 
specifiers. Supporting GDC and convenience bits like `latest` or 
`nightly` is planned but not currently implemented.
Sep 12 2019
next sibling parent Andre Pany <andre s-e-a-p.de> writes:
On Thursday, 12 September 2019 at 13:52:14 UTC, Mihails wrote:
 https://github.com/marketplace/actions/d-compiler-installation
 https://github.com/mihails-strasuns/setup-dlang

 [...]
Fantastic, thanks a lot for your work! Kind regards Andre
Sep 12 2019
prev sibling parent Mihails <none none.none> writes:
On Thursday, 12 September 2019 at 13:52:14 UTC, Mihails wrote:
 https://github.com/marketplace/actions/d-compiler-installation
 https://github.com/mihails-strasuns/setup-dlang
https://github.com/mihails-strasuns/setup-dlang/releases/tag/v0.2.0 - Now supports 'ldc-latest', 'ldc-beta', 'dmd-latest' and 'dmd-beta' as compiler versions - If now compiler version is specified, will default to 'dmd-latest' instead of failing
Sep 17 2019