Optimize memory usage #395
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
Build: | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
strategy: | |
fail-fast: false | |
matrix: | |
# use older ubuntu / linux version for glibc compatibility | |
os: [ubuntu-20.04, windows-latest, macos-latest] | |
dc: | |
- ldc-latest | |
- dmd-latest | |
build: [debug, release] | |
arch: | |
- x86_64 | |
libdparse-version: [min, max] | |
include: | |
# windows x86 | |
- os: windows-latest | |
arch: x86 | |
dc: ldc-latest | |
build: debug | |
libdparse-version: min | |
# old compiler tests | |
- { os: ubuntu-20.04, dc: dmd-2.095.1, libdparse-version: min, build: debug, arch: x86_64 } | |
- { os: ubuntu-20.04, dc: ldc-1.25.0, libdparse-version: min, build: debug, arch: x86_64 } | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup D | |
uses: dlang-community/setup-dlang@v1 | |
with: | |
compiler: ${{ matrix.dc }} | |
# Build | |
- name: Build | |
run: | | |
dub build --build=${{ matrix.build }} --config=client --arch=${{ matrix.arch }} | |
dub build --build=${{ matrix.build }} --config=server --arch=${{ matrix.arch }} | |
# Tests | |
- name: Build DSymbol | |
env: | |
DC: ${{matrix.dc}} | |
LIBDPARSE_VERSION: ${{ matrix.libdparse-version }} | |
run: | | |
cd dsymbol | |
rdmd ../d-test-utils/test_with_package.d $LIBDPARSE_VERSION libdparse -- dub build --build=${{ matrix.build }} | |
- name: Test DSymbol | |
env: | |
DC: ${{matrix.dc}} | |
LIBDPARSE_VERSION: ${{ matrix.libdparse-version }} | |
run: | | |
cd dsymbol | |
rdmd ../d-test-utils/test_with_package.d $LIBDPARSE_VERSION libdparse -- dub test | |
# test that both lowest supplied and highest available libdparse versions are compatible (for DUB users depending on DCD) | |
- name: Test dependency versions | |
run: | | |
rdmd ./d-test-utils/test_with_package.d $LIBDPARSE_VERSION libdparse -- dub build --build=${{ matrix.build }} --config=client --arch=${{ matrix.arch }} | |
rdmd ./d-test-utils/test_with_package.d $LIBDPARSE_VERSION libdparse -- dub build --build=${{ matrix.build }} --config=server --arch=${{ matrix.arch }} | |
- name: Linux Tests | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
./run_tests.sh --extra | |
working-directory: tests | |
shell: bash | |
- name: Windows and MacOS Tests | |
if: contains(matrix.os, 'windows') || contains(matrix.os, 'macos') | |
run: | | |
./run_tests.sh --extra | |
working-directory: tests | |
shell: bash | |
continue-on-error: true |