From ccf96281e91d3f5b88354198a79bf21e25ab959c Mon Sep 17 00:00:00 2001 From: Ernesto Castellotti Date: Thu, 19 Sep 2019 16:43:03 +0200 Subject: [PATCH] Add D workflow D is a statically and strongly typed, multi-paradigm, general-purpose native programming language. D is fully open-source and maintained by a volunteer community. For more information, see https://dlang.org This patch adds a minimal workflow that allows users to compile D projects that use DUB, the official D package manager and build tool. The workflow uses the community-maintained `setup-dlang` action, which can install any version of `dmd` (the reference compiler), or `ldc` (the LLVM-based, performance oriented compiler, on any of the three platforms currently supported by Github free runners. Support for GDC is not yet implemented. The logo used (d.svg) originates from https://github.com/dlang/dlang.org/blob/master/images/dlogo_2015.svg and is available under the BSL-1.0 license (https://github.com/dlang/dlang.org/blob/master/LICENSE.txt) Co-Authored-By: Mathias Lang --- ci/d.yml | 29 +++++ ci/properties/d.properties.json | 6 + icons/d.svg | 216 ++++++++++++++++++++++++++++++++ 3 files changed, 251 insertions(+) create mode 100644 ci/d.yml create mode 100644 ci/properties/d.properties.json create mode 100644 icons/d.svg diff --git a/ci/d.yml b/ci/d.yml new file mode 100644 index 0000000..d5329eb --- /dev/null +++ b/ci/d.yml @@ -0,0 +1,29 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +name: D + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: dlang-community/setup-dlang@7c3e57bdc1ff2d8994f00e61b3ef400e67d2d7ac + + - name: 'Build & Test' + run: | + # Build the project, with its main file included, without unittests + dub build --compiler=$DC + # Build and run tests, as defined by `unittest` configuration + # In this mode, `mainSourceFile` is excluded and `version (unittest)` are included + # See https://dub.pm/package-format-json.html#configurations + dub test --compiler=$DC diff --git a/ci/properties/d.properties.json b/ci/properties/d.properties.json new file mode 100644 index 0000000..5c67054 --- /dev/null +++ b/ci/properties/d.properties.json @@ -0,0 +1,6 @@ +{ + "name": "D", + "description": "Build and test a D project with dub.", + "iconName": "d", + "categories": [ "D" ] +} diff --git a/icons/d.svg b/icons/d.svg new file mode 100644 index 0000000..f2492bc --- /dev/null +++ b/icons/d.svg @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + +