Skip to content

Fix equal-always? on fl/fxvector, stencil-vector #2234

Fix equal-always? on fl/fxvector, stencil-vector

Fix equal-always? on fl/fxvector, stencil-vector #2234

Workflow file for this run

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