Timestamp output to aid DrDr debugging. #288
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 MacOS | |
on: | |
push: | |
branches: | |
- master | |
permissions: | |
contents: read | |
jobs: | |
# Build jobs | |
# These jobs build each Racket component separately and tests on the component start as soon as each | |
# component finishes building. | |
build-racketcgc: | |
strategy: | |
fail-fast: false | |
matrix: | |
cify: [nocify] | |
runs-on: macos-14 | |
env: | |
RACKET_EXTRA_CONFIGURE_ARGS: "" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- name: Setup cify if enabled1 | |
if: matrix.cify == 'cify' | |
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV | |
- name: Setup cify if disabled | |
if: matrix.cify == 'nocify' | |
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV | |
- name: Configuring Racket CGC | |
working-directory: ./racket/src | |
run: > | |
./configure | |
--prefix=$GITHUB_WORKSPACE/racketcgc | |
$RACKET_EXTRA_CONFIGURE_ARGS | |
--enable-cgcdefault | |
--enable-jit | |
--enable-foreign | |
--enable-macprefix | |
--enable-places | |
--enable-float | |
$CIFY_OPTION | |
--enable-pthread | |
--disable-docs | |
- name: Building | |
working-directory: ./racket/src | |
run: | | |
export cpus=$(sysctl -n hw.physicalcpu) | |
make CFLAGS="-Werror" -l $cpus -j $((cpus+1)) | |
- name: Installing | |
working-directory: ./racket/src | |
run: make -j $((cpus+1)) install | |
- name: Tarballing | |
working-directory: ${{ github.workspace }} | |
run: tar -cvjf racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 racketcgc | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }}/racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 | |
build-racket3m: | |
strategy: | |
fail-fast: false | |
matrix: | |
cify: [nocify] | |
runs-on: macos-14 | |
needs: build-racketcgc | |
env: | |
RACKET_EXTRA_CONFIGURE_ARGS: "" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- name: Setup cify if enabled | |
if: matrix.cify == 'cify' | |
run: echo "CIFY_OPTION=--enable-cify" >> $GITHUB_ENV | |
- name: Setup cify if disabled | |
if: matrix.cify == 'nocify' | |
run: echo "CIFY_OPTION=--disable-cify" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racketcgc-macos-nocify-aarch64_git${{ github.sha }} | |
path: ${{ runner.temp }} | |
- name: Untar | |
working-directory: ${{ github.workspace }} | |
run: tar -xvjf ${{ runner.temp }}/racketcgc-macos-nocify-aarch64_git${{ github.sha }}.tar.bz2 | |
- name: Configuring Racket 3m | |
working-directory: ./racket/src | |
env: | |
CC: clang | |
run: > | |
./configure | |
--prefix=$GITHUB_WORKSPACE/racket3m | |
$RACKET_EXTRA_CONFIGURE_ARGS | |
--enable-racket=$GITHUB_WORKSPACE/racketcgc/bin/racket | |
--enable-bcdefault | |
--enable-jit | |
--enable-foreign | |
--enable-macprefix | |
--enable-places | |
--enable-float | |
--disable-docs | |
$CIFY_OPTION | |
--enable-pthread | |
- name: Building | |
working-directory: ./racket/src | |
run: | | |
export cpus=$(sysctl -n hw.physicalcpu) | |
make CFLAGS="-Werror" -l $cpus -j $((cpus+1)) | |
- name: Installing | |
working-directory: ./racket/src | |
run: make -j $((cpus+1)) install | |
- name: Tarballing | |
working-directory: ${{ github.workspace }} | |
run: tar -cvjf racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha}}.tar.bz2 racket3m | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }}/racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 | |
build-racketcs: | |
runs-on: macos-14 | |
needs: build-racketcgc | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 100 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racketcgc-macos-nocify-aarch64_git${{ github.sha }} | |
path: ${{ runner.temp }} | |
- name: Untar | |
working-directory: ${{ github.workspace }} | |
run: tar -xvjf ${{ runner.temp }}/racketcgc-macos-nocify-aarch64_git${{ github.sha}}.tar.bz2 | |
- name: Configuring Racket CS | |
working-directory: ./racket/src | |
env: | |
CC: ${{ matrix.cc }} | |
run: > | |
./configure | |
--prefix=$GITHUB_WORKSPACE/racketcs | |
--enable-racket=$GITHUB_WORKSPACE/racketcgc/bin/racket | |
--enable-macprefix | |
--enable-compress | |
--disable-docs | |
--enable-pthread | |
--enable-csdefault | |
--enable-csonly | |
- name: Building | |
working-directory: ./racket/src | |
run: | | |
export cpus=$(sysctl -n hw.physicalcpu) | |
make -l $cpus -j $((cpus+1)) | |
- name: Installing | |
working-directory: ./racket/src | |
run: make -j $((cpus+1)) install | |
- name: Copying src/ into distro # ChezScheme build is needed by build-ios | |
run: cp -r racket/src racketcs/ | |
- name: Tarballing | |
working-directory: ${{ github.workspace }} | |
run: tar -cvjf racketcs-macos-aarch64_git${{ github.sha}}.tar.bz2 racketcs | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: racketcs-macos-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }}/racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 | |
build-ios: | |
runs-on: macos-14 | |
needs: build-racketcs | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racketcs-macos-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }} | |
- name: Untar host Racket | |
run: | | |
mkdir host-racket | |
tar -xvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 -C host-racket --strip-components 1 | |
- name: Build iOS Racket | |
run: | | |
set -euxo pipefail | |
mkdir -p racket/src/build-ios | |
pushd racket/src/build-ios | |
../configure \ | |
--host=aarch64-apple-darwin \ | |
--enable-ios=iPhoneOS \ | |
--enable-racket=${{ github.workspace }}/host-racket/bin/racket \ | |
--enable-scheme=${{ github.workspace }}/host-racket/src/cs/c | |
make | |
make install | |
# Tests | |
# Unfortunately Actions does not support atm yaml anchors | |
# otherwise all the following jobs could be simplified | |
# Note: the reason we cannot transform this into a matrix | |
# build is because we cannot use variables in the needs keyword. | |
test-cgc: | |
strategy: | |
fail-fast: false | |
matrix: | |
cify: [nocify] | |
runs-on: macos-14 | |
needs: build-racketcgc | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }} | |
- name: Untar | |
working-directory: ${{ github.workspace }} | |
run: tar -xvjf racketcgc-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 | |
- name: Extend PATH with Racket executable | |
working-directory: ${{ github.workspace }} | |
run: echo "$PWD/racketcgc/bin" >> $GITHUB_PATH | |
- name: Check for Racket | |
run: racket --version | |
- name: Install catalog | |
run: | | |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/ | |
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org | |
- name: Install racket-test dependency | |
run: raco pkg install --auto racket-test | |
- name: Run tests/racket/test | |
run: raco test -l tests/racket/test | |
- name: Run tests/racket/contract/all | |
run: racket -l tests/racket/contract/all | |
- name: Run tests/json/json | |
run: raco test -l tests/json/json | |
- name: Run tests/file/main | |
run: raco test -l tests/file/main | |
- name: Run tests/net/head | |
run: raco test -l tests/net/head | |
- name: Run tests/net/uri-codec | |
run: raco test -l tests/net/uri-codec | |
- name: Run tests/net/url | |
run: raco test -l tests/net/url | |
- name: Run tests/net/url-port | |
run: raco test -l tests/net/url-port | |
- name: Run tests/net/encoders | |
run: raco test -l tests/net/encoders | |
- name: Run tests/openssl/basic | |
run: raco test -l tests/openssl/basic | |
- name: Run tests/openssl/https | |
run: raco test -l tests/openssl/https | |
- name: Run tests/match/main | |
run: raco test -l tests/match/main | |
- name: Run tests/zo-path | |
run: raco test -l tests/zo-path | |
- name: Run tests/xml | |
run: raco test -c tests/xml | |
- name: Run tests/stxparse | |
run: raco test -c tests/stxparse | |
- name: Install db tests dependency | |
run: raco pkg install --auto db-test | |
- name: Run db tests | |
run: raco test -l tests/db/all-tests | |
- name: Run syntax tests | |
run: raco test -c tests/syntax | |
test-3m: | |
strategy: | |
fail-fast: false | |
matrix: | |
cify: [nocify] | |
runs-on: macos-14 | |
needs: build-racket3m | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }} | |
- name: Untar | |
working-directory: ${{ github.workspace }} | |
run: tar -xvjf racket3m-macos-${{ matrix.cify }}-aarch64_git${{ github.sha }}.tar.bz2 | |
- name: Extend PATH with Racket executable | |
working-directory: ${{ github.workspace }} | |
run: echo "$PWD/racket3m/bin" >> $GITHUB_PATH | |
- name: Check for Racket | |
run: racket --version | |
- name: Install catalog and required packages | |
run: | | |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/ | |
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org | |
- name: Install racket-test dependency | |
run: raco pkg install --auto racket-test | |
- name: Run tests/racket/test | |
run: raco test -l tests/racket/test | |
- name: Run tests/racket/contract/all | |
run: racket -l tests/racket/contract/all | |
- name: Run tests/json/json | |
run: raco test -l tests/json/json | |
- name: Run tests/file/main | |
run: raco test -l tests/file/main | |
- name: Run tests/net/head | |
run: raco test -l tests/net/head | |
- name: Run tests/net/uri-codec | |
run: raco test -l tests/net/uri-codec | |
- name: Run tests/net/url | |
run: raco test -l tests/net/url | |
- name: Run tests/net/url-port | |
run: raco test -l tests/net/url-port | |
- name: Run tests/net/encoders | |
run: raco test -l tests/net/encoders | |
- name: Run tests/openssl/basic | |
run: raco test -l tests/openssl/basic | |
- name: Run tests/openssl/https | |
run: raco test -l tests/openssl/https | |
- name: Run tests/match/main | |
run: raco test -l tests/match/main | |
- name: Run tests/zo-path | |
run: raco test -l tests/zo-path | |
- name: Run tests/xml | |
run: raco test -c tests/xml | |
- name: Run tests/stxparse | |
run: raco test -c tests/stxparse | |
- name: Install db tests dependency | |
run: raco pkg install --auto db-test | |
- name: Run db tests | |
run: raco test -l tests/db/all-tests | |
- name: Run syntax tests | |
run: raco test -c tests/syntax | |
test-cs: | |
runs-on: macos-14 | |
needs: build-racketcs | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: racketcs-macos-aarch64_git${{ github.sha }} | |
path: ${{ github.workspace }} | |
- name: Untar | |
working-directory: ${{ github.workspace }} | |
run: tar -xvjf racketcs-macos-aarch64_git${{ github.sha }}.tar.bz2 | |
- name: Extend PATH with Racket executable | |
working-directory: ${{ github.workspace }} | |
run: echo "$PWD/racketcs/bin" >> $GITHUB_PATH | |
- name: Check for Racket | |
run: racket --version | |
- name: Install catalog and required packages | |
run: | | |
racket -l- pkg/dirs-catalog --immediate $PWD/rktcat $PWD/pkgs/ | |
raco pkg config --set catalogs $PWD/rktcat/ https://pkgs.racket-lang.org https://planet-compats.racket-lang.org | |
- name: Install racket-test dependency | |
run: raco pkg install --auto racket-test | |
- name: Run tests/racket/test | |
run: raco test -l tests/racket/test | |
- name: Run tests/racket/contract/all | |
run: racket -l tests/racket/contract/all | |
- name: Run tests/json/json | |
run: raco test -l tests/json/json | |
- name: Run tests/file/main | |
run: raco test -l tests/file/main | |
- name: Run tests/net/head | |
run: raco test -l tests/net/head | |
- name: Run tests/net/uri-codec | |
run: raco test -l tests/net/uri-codec | |
- name: Run tests/net/url | |
run: raco test -l tests/net/url | |
- name: Run tests/net/url-port | |
run: raco test -l tests/net/url-port | |
- name: Run tests/net/encoders | |
run: raco test -l tests/net/encoders | |
- name: Run tests/openssl/basic | |
run: raco test -l tests/openssl/basic | |
- name: Run tests/openssl/https | |
run: raco test -l tests/openssl/https | |
- name: Run tests/match/main | |
run: raco test -l tests/match/main | |
- name: Run tests/zo-path | |
run: raco test -l tests/zo-path | |
- name: Run tests/xml | |
run: raco test -c tests/xml | |
- name: Run tests/stxparse | |
run: raco test -c tests/stxparse | |
- name: Install db tests dependency | |
run: raco pkg install --auto db-test | |
- name: Run db tests | |
run: raco test -l tests/db/all-tests | |
- name: Run syntax tests | |
run: raco test -c tests/syntax |