e32ac39faf
CI / build (push) Failing after 2m1s
First CI run failed at 'Build and test' with exit code 127 (command not found): actions/setup-java@v4 provisions a JDK but not Maven, and the runner image has no mvn on PATH. The sibling lms/alms workflow apt-installs both; this workflow switched to setup-java for JDK 25 (the image's default-jdk is too old for maven.compiler.release=25) and dropped the maven install with it. Adds an explicit Maven install with Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) Maven home: /Users/appbuilder/Tool/apache-maven-3.9.16 Java version: 25.0.2, vendor: Oracle Corporation, runtime: /Users/appbuilder/Tool/jdk-25.0.2.jdk/Contents/Home Default locale: en_VN, platform encoding: UTF-8 OS name: "mac os x", version: "26.5.1", arch: "aarch64", family: "mac" so the log proves which JDK it resolved — JAVA_HOME from setup-java must win over the JRE apt drags in.
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# The wiki submodule is docs only and is not needed to build — leave it unfetched so CI
|
|
# does not depend on the wiki repo being reachable.
|
|
- uses: actions/checkout@v4
|
|
|
|
# The runner image ships an older default-jdk; bridged sets maven.compiler.release=25, so
|
|
# provision the JDK explicitly rather than apt-installing whatever "default" means today.
|
|
- name: Set up JDK 25
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: '25'
|
|
cache: maven
|
|
|
|
# setup-java provisions the JDK only — it does NOT install Maven, and the runner image has
|
|
# no mvn on PATH (a bare `mvn` exits 127). Install it separately. apt pulls a default JRE as
|
|
# a dependency; JAVA_HOME from setup-java still wins, which the version check below proves.
|
|
- name: Install Maven
|
|
run: |
|
|
apt-get update && apt-get install -y --no-install-recommends maven
|
|
mvn -version
|
|
|
|
- name: Build and test
|
|
working-directory: bridged
|
|
# This IS the mock-socket surface CB-503 asks for: the pom's `default-excludes` profile
|
|
# already sets excludedGroups=contract, so the @Tag("contract") tests — which need a live
|
|
# herdr socket and a RabbitMQ container — are excluded without any flag here. Everything
|
|
# that runs does so against the fake UDS herdr and fake ccs/claude stubs.
|
|
run: mvn -B clean install
|
|
|
|
- name: Publish test report
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: surefire-reports
|
|
path: bridged/target/surefire-reports/
|
|
if-no-files-found: warn
|