- # Cross platform tests for DUB
-
- name: Testsuite
-
- # Only triggers on pushes to master & stable, as well as PR to master and stable
- # Sometimes reverts appear in the upstream repository (e.g. when the revert button
- # is clicked by a contributor with commit access), this should be tested as PR).
- #
- # Also note that Github actions does not retrigger on target branch changes,
- # hence the check on push.
- on:
- pull_request:
- branches:
- - master
- - stable
- push:
- branches:
- - master
- - stable
- # Use this branch name in your fork to test changes
- - github-actions
-
- jobs:
- main:
- name: Run
- strategy:
- # Default, disable if you want to debug
- fail-fast: false
- matrix:
- # Latest stable version, update at will
- os: [ macOS-11, ubuntu-20.04, windows-2019 ]
- dc:
- - dmd-latest
- - dmd-2.100.2
- - ldc-latest
- - dmd-master
- # - ldc-master
- # This is the bootstrap compiler used to compile the releases
- - ldc-1.23.0
- # Some intermediate compilers for good measure
- - dmd-2.095.1
- - dmd-2.098.1
- include:
- - { do_test: true }
- - { dc: dmd-2.095.1, do_test: false }
- - { dc: dmd-2.098.1, do_test: false }
- - { dc: ldc-1.23.0 , do_test: false }
-
- runs-on: ${{ matrix.os }}
- steps:
-
- # Install required dependencies
- - name: '[OSX] Install dependencies'
- if: runner.os == 'macOS'
- run: |
- brew install pkg-config coreutils
- echo "PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig/" >> $GITHUB_ENV
-
- - name: '[Linux] Install dependencies'
- if: runner.os == 'Linux'
- run: |
- sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev netcat
-
- # Compiler to test with
- - name: Prepare compiler
- uses: dlang-community/setup-dlang@v1
- with:
- compiler: ${{ matrix.dc }}
-
- # Checkout the repository
- - name: Checkout
- uses: actions/checkout@v3
-
- - name: '[POSIX] Test'
- if: runner.os != 'Windows'
- env:
- COVERAGE: false
- # The value doesn't matter as long as it's > 2.087
- FRONTEND: 2.095.0
- run: |
- dub build --compiler=${{ env.DC }}
- if [[ ${{ matrix.do_test }} == 'true' ]]; then
- dub run --compiler=${{ env.DC }} --single test/issue2051_running_unittests_from_dub_single_file_packages_fails.d
- ./scripts/ci/travis.sh
- fi
-
- - name: '[Windows] Test'
- if: runner.os == 'Windows'
- env:
- DUB: ${{ github.workspace }}\bin\dub.exe
- # Only run `dub test` to run unittests so far,
- # the test-suite needs to be overhauled to support Windows
- run: |
- dub build --compiler=${{ env.DC }}
- if [[ ${{ matrix.do_test }} == 'true' ]]; then
- dub test --compiler=${{ env.DC }}
- dub run --compiler=${{ env.DC }} --single test/issue2051_running_unittests_from_dub_single_file_packages_fails.d
- cd test
- dub --single run-unittest.d
- fi
- shell: bash