Skip to content

Make default a86 calls lazy and one-shot #190

Make default a86 calls lazy and one-shot

Make default a86 calls lazy and one-shot #190

Workflow file for this run

name: Build and Test
on: [push, workflow_dispatch]
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04]
racket-variant: ['CS']
racket-version: ['8.6', '8.10', '8.14', '8.18', '9.1', 'stable', 'current']
runs-on: ${{ matrix.os }}
name: OS ${{ matrix.os }} / Racket ${{ matrix.racket-version }}
steps:
- name: Checkout
uses: actions/checkout@main
- name: Install Racket
uses: Bogdanp/setup-racket@v1.15
with:
architecture: 'x64'
distribution: 'full'
variant: ${{ matrix.racket-variant }}
version: ${{ matrix.racket-version }}
- name: Version info
run: |
clang --version
gcc --version
- name: Install a86 package
run: |
raco pkg install --no-docs ../a86/
- name: Install langs package
run: |
# This *should* use the locally installed a86
raco pkg install --auto 'https://github.com/cmsc430/langs.git?#next'
- name: Install libssl
run: |
sudo apt install -y libssl-dev
- name: Run a86 tests
run: |
raco test -j 4 -p a86
- name: Run langs tests
id: langs-tests
continue-on-error: true
run: |
xvfb-run raco test -j 4 -p langs
- name: Rerun failing langs tests serially with JIT trace
id: langs-tests-rerun
if: steps.langs-tests.outcome == 'failure'
continue-on-error: true
env:
A86_JIT_TRACE: "1"
run: |
xvfb-run raco test -j 1 -p langs
- name: Fail job if traced rerun also failed
if: steps.langs-tests.outcome == 'failure' && steps.langs-tests-rerun.outcome == 'failure'
run: |
exit 1