Re: Github Action: cross-platfrom D compiler installation

2019-09-17 Thread Mihails via Digitalmars-d-announce

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


Re: Github Action: cross-platfrom D compiler installation

2019-09-12 Thread Andre Pany via Digitalmars-d-announce

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


Github Action: cross-platfrom D compiler installation

2019-09-12 Thread Mihails via Digitalmars-d-announce

https://github.com/marketplace/actions/d-compiler-installation
https://github.com/mihails-strasuns/setup-dlang

Main difference from 
https://forum.dlang.org/thread/lrbcmnblvfplkpfao...@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.