Skip to content

Refactor CommandNotFoundHandler: Shell -> Consumer<String> (#557) #332

Refactor CommandNotFoundHandler: Shell -> Consumer<String> (#557)

Refactor CommandNotFoundHandler: Shell -> Consumer<String> (#557) #332

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Build and test
run: mvn clean install
- name: Verify benchmark compiles
run: mvn compile -Pbenchmark -pl benchmark
native-test:
runs-on: ubuntu-latest
name: native-image smoke test
steps:
- uses: actions/checkout@v7
- name: Set up GraalVM
uses: graalvm/setup-graalvm@v1
with:
java-version: '25'
distribution: 'graalvm'
cache: maven
- name: Build aesh
run: mvn clean install -DskipTests
- name: Build examples
run: mvn package -Pexamples -pl examples -DskipTests
- name: Build native image
run: |
# Use the shaded fat jar (exclude -javadoc, -sources, -tests JARs)
JAR=$(ls examples/target/aesh-examples-*.jar | grep -v javadoc | grep -v sources | grep -v tests | head -1)
echo "Using JAR: $JAR"
native-image \
-cp "$JAR" \
examples.NewFeaturesExample \
-o /tmp/aesh-native-test \
--no-fallback -march=compatibility
- name: Smoke test native image
run: |
OUTPUT=$(printf 'build --target release\nsleep 1\nexit\n' | \
timeout 15 /tmp/aesh-native-test 2>&1)
echo "$OUTPUT"
echo "$OUTPUT" | grep -q "Build complete" || \
(echo "FAIL: 'Build complete' not found" && exit 1)
echo "$OUTPUT" | grep -q "Done" || \
(echo "FAIL: 'Done' not found (sleep command)" && exit 1)
echo "Native smoke test PASSED"