Solo Chez build/test workflow (#3316)
This commit is contained in:
parent
7d7b8fb1e9
commit
a4b6ac701e
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
runmats() {
|
runmats() {
|
||||||
echo make allxhelp "$@"
|
echo make allxhelp "$@"
|
||||||
make -C ${MACH}/mats allxhelp "$@" 2>&1 | tee -a Make.out | grep '^matting '
|
make -C ${MACH}/mats allxhelp "$@" 2>&1 | tee -a Make.out | grep '^matting '
|
||||||
|
@ -13,7 +15,7 @@ runmats o=3 cp0=t eval=interpret
|
||||||
|
|
||||||
if [ -f ${MACH}/mats/summary ]; then
|
if [ -f ${MACH}/mats/summary ]; then
|
||||||
cat ${MACH}/mats/summary
|
cat ${MACH}/mats/summary
|
||||||
diff -q .github/scripts/summary ${MACH}/mats/summary
|
diff -q ${DIR}/summary ${MACH}/mats/summary
|
||||||
exit $?
|
exit $?
|
||||||
else
|
else
|
||||||
exit 1
|
exit 1
|
88
.github/workflows/chez-build.yml
vendored
Normal file
88
.github/workflows/chez-build.yml
vendored
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
name: Solo Chez Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "racket/src/ChezScheme/**"
|
||||||
|
- ".github/scripts/**"
|
||||||
|
- ".github/workflows/chez-build.yml"
|
||||||
|
- "Makefile"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "racket/src/ChezScheme/**"
|
||||||
|
- ".github/scripts/**"
|
||||||
|
- ".github/workflows/chez-build.yml"
|
||||||
|
- "Makefile"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-linux:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
mach: ['i3le', 'ti3le', 'a6le', 'ta6le']
|
||||||
|
|
||||||
|
env:
|
||||||
|
MACH: ${{ matrix.mach }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 50
|
||||||
|
- name: Download pb boot files
|
||||||
|
run: make fetch-pb
|
||||||
|
- name: Proceed with TARGET_MACHINE == ${{ matrix.mach }}
|
||||||
|
run: echo $TARGET_MACHINE
|
||||||
|
- name: Install libs for 32-bit
|
||||||
|
if: matrix.mach == 'i3le' || matrix.mach == 'ti3le'
|
||||||
|
run: |
|
||||||
|
sudo dpkg --add-architecture i386
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y gcc-multilib lib32ncurses5-dev libx32ncurses5-dev uuid-dev:i386 libssl-dev:i386
|
||||||
|
- name: Install libs for 64-bit
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libncurses5-dev uuid-dev libssl-dev
|
||||||
|
- name: Build Chez with PB boot files
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: |
|
||||||
|
./configure --pb
|
||||||
|
make -j$(($(nproc) + 1)) -l$(nproc) ${{ matrix.mach }}.bootquick
|
||||||
|
- name: Build Chez with native boot files
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: |
|
||||||
|
./configure -m=${{ matrix.mach }}
|
||||||
|
make -j$(($(nproc) + 1)) -l$(nproc)
|
||||||
|
- name: Test Chez
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: ../../../.github/scripts/test.sh
|
||||||
|
|
||||||
|
build-arm64:
|
||||||
|
runs-on: [self-hosted, ARM64, Linux]
|
||||||
|
container:
|
||||||
|
image: racket/racket-ci:latest
|
||||||
|
options: --init
|
||||||
|
|
||||||
|
env:
|
||||||
|
MACH: tarm64le
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 50
|
||||||
|
- name: Download pb boot files
|
||||||
|
run: make fetch-pb
|
||||||
|
- name: Build Chez with PB boot files
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: |
|
||||||
|
./configure --pb
|
||||||
|
make -j$(($(nproc) + 1)) -l$(nproc) ${MACH}.bootquick
|
||||||
|
- name: Build Chez with native boot files
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: |
|
||||||
|
./configure -m=${MACH}
|
||||||
|
make -j$(($(nproc) + 1)) -l$(nproc)
|
||||||
|
- name: Test Chez
|
||||||
|
working-directory: racket/src/ChezScheme
|
||||||
|
run: ../../../.github/scripts/test.sh
|
13
racket/src/ChezScheme/.github/scripts/build.sh
vendored
13
racket/src/ChezScheme/.github/scripts/build.sh
vendored
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e -o pipefail
|
|
||||||
echo Building Chez Scheme...
|
|
||||||
./configure -m=$MACH
|
|
||||||
make
|
|
||||||
case $MACH in
|
|
||||||
*a6nt)
|
|
||||||
curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x64.dll > "$TARGET_MACHINE"/bin/"$TARGET_MACHINE"/iconv.dll
|
|
||||||
;;
|
|
||||||
*i3nt)
|
|
||||||
curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x86.dll > "$TARGET_MACHINE"/bin/"$TARGET_MACHINE"/iconv.dll
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -1,82 +0,0 @@
|
||||||
name: Build CI
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
build-linux:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
mach: ['i3le', 'ti3le', 'a6le', 'ta6le']
|
|
||||||
|
|
||||||
env:
|
|
||||||
MACH: ${{ matrix.mach }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: Bogdanp/setup-racket@v0.8
|
|
||||||
with:
|
|
||||||
distribution: 'minimal' # minimal is enough
|
|
||||||
variant: 'CS' # lets dog-food CS
|
|
||||||
version: 'current'
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'recursive'
|
|
||||||
- name: Proceed with TARGET_MACHINE == ${{ matrix.mach }}
|
|
||||||
run: echo $TARGET_MACHINE
|
|
||||||
- name: Install libs for 32-bit
|
|
||||||
if: matrix.mach == 'i3le' || matrix.mach == 'ti3le'
|
|
||||||
run: |
|
|
||||||
sudo dpkg --add-architecture i386
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y gcc-multilib lib32ncurses5-dev libx32ncurses5-dev uuid-dev:i386 libssl-dev:i386
|
|
||||||
- name: Install libs for 64-bit
|
|
||||||
if: matrix.mach == 'a6le' || matrix.mach == 'ta6le'
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libncurses5-dev uuid-dev libssl-dev
|
|
||||||
- name: Build bootfiles
|
|
||||||
run: racket rktboot/main.rkt
|
|
||||||
- name: Build Chez
|
|
||||||
run: .github/scripts/build.sh
|
|
||||||
- name: Test Chez
|
|
||||||
run: .github/scripts/test.sh
|
|
||||||
|
|
||||||
build-arm64:
|
|
||||||
runs-on: [self-hosted, ARM64, Linux]
|
|
||||||
container:
|
|
||||||
image: racket/racket-ci:latest
|
|
||||||
options: --init
|
|
||||||
|
|
||||||
env:
|
|
||||||
MACH: tarm64le
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Create Racket Temp Directory
|
|
||||||
run: mkdir /tmp/racket
|
|
||||||
- name: Build Racket CGC
|
|
||||||
working-directory: /tmp/racket
|
|
||||||
run: |
|
|
||||||
git clone --depth=1 https://github.com/racket/racket
|
|
||||||
cd racket/racket/src
|
|
||||||
./configure --prefix=/usr --enable-cgcdefault --disable-docs --disable-cify
|
|
||||||
export cpus=$(nproc)
|
|
||||||
make -l $cpus -j $((cpus+1))
|
|
||||||
make -j $((cpus+1)) install
|
|
||||||
cd
|
|
||||||
rm -Rf /tmp/racket
|
|
||||||
- name: Checkout ChezScheme
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'recursive'
|
|
||||||
fetch-depth: 100
|
|
||||||
- name: Build bootfiles
|
|
||||||
run: racket rktboot/main.rkt
|
|
||||||
- name: Build Chez
|
|
||||||
run: |
|
|
||||||
./configure -m=$MACH
|
|
||||||
make -j$(($(nproc)+1)) -l$(nproc)
|
|
||||||
- name: Test Chez
|
|
||||||
run: .github/scripts/test.sh
|
|
Loading…
Reference in New Issue
Block a user