Skip to content

Revert "Build release binaries faster (#1343)" #6664

Revert "Build release binaries faster (#1343)"

Revert "Build release binaries faster (#1343)" #6664

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
env:
HOMEBREW_NO_INSTALL_UPGRADE: 1
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: cargo build --locked
unit_test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-14
options:
-
- --features libc,std
- --features gc_always --exclude stak-compiler
exclude:
- os: ${{ github.ref == 'refs/heads/main' && 'none' || 'macos-14' }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: cargo test --workspace ${{ matrix.options }}
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: tools/coverage.sh
- uses: codecov/codecov-action@v4
with:
files: lcov.info
integration_test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-14
interpreter:
- name: stak-tools
host: chibi-scheme
- name: stak-tools
host: gosh
- name: stak-tools
host: guile
- name: stak-tools
host: gosh
features: [gc_always]
tags: not @long
- name: chibi
tags: (not @stak or @chibi) and not @library
- name: gauche
tags: not @stak or @gauche
- name: guile
tags: not @stak or @guile
exclude:
- os: ${{ github.ref == 'refs/heads/main' && 'none' || 'macos-14' }}
runs-on: ${{ matrix.os }}
env:
STAK_HOST_INTERPRETER: ${{ matrix.interpreter.host || 'gosh' }}
GUILE_AUTO_COMPILE: 0
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: >
tools/integration_test.sh
-i ${{ matrix.interpreter.name }}
-f ${{ join(matrix.interpreter.features, ',') }},
-t '${{ matrix.interpreter.tags || 'not @none' }}'
self_host_integration_test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-14
interpreter:
- name: stak
tags: not @library
- name: stak-tools
- name: mstak
tags: not @environment-variable and not @library
- name: mstak-tools
tags: not @environment-variable
exclude:
- os: ${{ github.ref == 'refs/heads/main' && 'none' || 'macos-14' }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: >
tools/integration_test.sh
-i ${{ matrix.interpreter.name }}
-t '${{ matrix.interpreter.tags || 'not @none' }}'
self_host_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: tools/self_host_test.sh
minimal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: cargo build
working-directory: cmd/minimal
- run: cargo build --release
working-directory: cmd/minimal
- run: ls -lB target/release
working-directory: cmd/minimal
- run: cargo fmt --check
working-directory: cmd/minimal
- run: cargo clippy
working-directory: cmd/minimal
- run: cargo test
working-directory: cmd/minimal
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: cargo install wasm-pack
- run: wasm-pack build
working-directory: wasm
- run: wasm-pack test --release --chrome --headless
working-directory: wasm
- run: wasm-pack pack
working-directory: wasm
profile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./tools/ci/github/setup
- run: tools/profile_test.sh
test:
needs:
- build
- unit_test
- integration_test
- self_host_test
- wasm
- minimal
- profile
if: always()
runs-on: ubuntu-latest
steps:
- run: for result in ${{ join(needs.*.result, ' ') }}; do [ $result = success ]; done