Improve test matrix on Linux and Macos (#2966)

This commit furthers the test matrix by testing
     * with and without jit
     * if jit is enabled it tests with and without
       - places
       - futures
       - extflonum

This commit completes the functionality present in current TravisCI.
This commit is contained in:
Paulo Matos 2020-01-16 17:31:03 +01:00 committed by GitHub
parent 712494312a
commit 087c38db2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -68,14 +68,17 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-18.04, macos-latest] os: [ubuntu-18.04, macos-latest]
cify: [cify, nocify]
cc: [gcc, clang] cc: [gcc, clang]
cify: [cify, nocify]
jit: [jit, nojit]
efp: [efp, noefp]
exclude: exclude:
- os: macos-latest - os: macos-latest
cc: gcc cc: gcc
- jit: nojit
efp: efp
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
needs: build-racketcgc needs: build-racketcgc
env: env:
@ -94,6 +97,18 @@ jobs:
- name: Setup cify if disabled - name: Setup cify if disabled
if: matrix.cify == 'nocify' if: matrix.cify == 'nocify'
run: echo "::set-env name=CIFY_OPTION::--disable-cify" run: echo "::set-env name=CIFY_OPTION::--disable-cify"
- name: Setup jit if enabled
if: matrix.jit == 'jit'
run: echo "::set-env name=JIT_OPTION::--enable-jit"
- name: Setup jit if disabled
if: matrix.jit == 'nojit'
run: echo "::set-env name=JIT_OPTION::--disable-jit"
- name: Setup efp if enabled
if: matrix.efp == 'efp'
run: echo "::set-env name=EFP_OPTIONS::--enable-extflonums --enable-places --enable-futures"
- name: Setup efp if disabled
if: matrix.efp == 'noefp'
run: echo "::set-env name=EFP_OPTIONS::--disable-extflonums --disable-places --disable-futures"
- uses: actions/download-artifact@master - uses: actions/download-artifact@master
with: with:
name: racketcgc-${{ matrix.os }}-nocify-x64_git${{ github.sha }} name: racketcgc-${{ matrix.os }}-nocify-x64_git${{ github.sha }}
@ -110,13 +125,12 @@ jobs:
--prefix=$GITHUB_WORKSPACE/../racket3m --prefix=$GITHUB_WORKSPACE/../racket3m
$RACKET_EXTRA_CONFIGURE_ARGS $RACKET_EXTRA_CONFIGURE_ARGS
--enable-racket=$GITHUB_WORKSPACE/../racketcgc/bin/racket --enable-racket=$GITHUB_WORKSPACE/../racketcgc/bin/racket
--enable-jit
--enable-foreign --enable-foreign
--enable-places
--enable-futures
--enable-float --enable-float
--disable-docs --disable-docs
$CIFY_OPTION $CIFY_OPTION
$JIT_OPTION
$EFP_OPTIONS
--enable-pthread --enable-pthread
- name: Building - name: Building
working-directory: ./racket/src working-directory: ./racket/src
@ -133,12 +147,12 @@ jobs:
- name: Tarballing - name: Tarballing
if: matrix.cc == 'gcc' || matrix.os == 'macos-latest' if: matrix.cc == 'gcc' || matrix.os == 'macos-latest'
working-directory: ../ working-directory: ../
run: tar -cvjf racket3m-${{ matrix.os }}-${{ matrix.cify }}-x64_git${{ github.sha}}.tar.bz2 racket3m run: tar -cvjf racket3m-${{ matrix.os }}-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha}}.tar.bz2 racket3m
- uses: actions/upload-artifact@master - uses: actions/upload-artifact@master
if: matrix.cc == 'gcc' || matrix.os == 'macos-latest' if: matrix.cc == 'gcc' || matrix.os == 'macos-latest'
with: with:
name: racket3m-${{ matrix.os }}-${{ matrix.cify }}-x64_git${{ github.sha }} name: racket3m-${{ matrix.os }}-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}
path: ../racket3m-${{ matrix.os }}-${{ matrix.cify }}-x64_git${{ github.sha }}.tar.bz2 path: ../racket3m-${{ matrix.os }}-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}.tar.bz2
build-racketcs: build-racketcs:
strategy: strategy:
@ -305,6 +319,11 @@ jobs:
matrix: matrix:
os: [ubuntu-18.04, macos-latest] os: [ubuntu-18.04, macos-latest]
cify: [cify, nocify] cify: [cify, nocify]
jit: [jit, nojit]
efp: [efp, noefp]
exclude:
- jit: nojit
efp: efp
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -314,11 +333,11 @@ jobs:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: actions/download-artifact@master - uses: actions/download-artifact@master
with: with:
name: racket3m-${{ matrix.os }}-${{ matrix.cify }}-x64_git${{ github.sha }} name: racket3m-${{ matrix.os }}-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}
path: ../ path: ../
- name: Untar - name: Untar
working-directory: ../ working-directory: ../
run: tar -xvjf racket3m-${{ matrix.os }}-${{ matrix.cify }}-x64_git${{ github.sha }}.tar.bz2 run: tar -xvjf racket3m-${{ matrix.os }}-${{ matrix.cify }}-${{ matrix.jit }}-${{ matrix.efp }}-x64_git${{ github.sha }}.tar.bz2
- name: Extend PATH with Racket executable - name: Extend PATH with Racket executable
working-directory: ../ working-directory: ../
run: echo "::set-env name=PATH::$PWD/racket3m/bin:$PATH" run: echo "::set-env name=PATH::$PWD/racket3m/bin:$PATH"