# 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-10.15, ubuntu-18.04, windows-2019 ] dc: [ dmd-2.092.0, ldc-1.21.0, dmd-master, ldc-master ] runs-on: ${{ matrix.os }} steps: # Install required dependencies - name: '[OSX] Install dependencies' if: runner.os == 'macOS' run: | brew install pkg-config coreutils echo ::set-env name=PKG_CONFIG_PATH::/usr/local/opt/openssl@1.1/lib/pkgconfig/ - name: '[Linux] Install dependencies' if: runner.os == 'Linux' run: | sudo apt-get install -y libcurl4-openssl-dev netcat # Compiler to test with - name: Prepare compiler uses: mihails-strasuns/setup-dlang@v1 with: compiler: ${{ matrix.dc }} # Checkout the repository - name: Checkout uses: actions/checkout@v2 - name: '[POSIX] Test' if: runner.os != 'Windows' env: COVERAGE: false # The value doesn't matter as long as it's > 2.087 FRONTEND: 2.091.0 run: | ./scripts/ci/travis.sh - name: '[Windows] Test' if: runner.os == 'Windows' # 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 }} dub test --compiler=${{ env.DC }}