revert(samples): drop Interactions from ai-chat — redundant with live… #572
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "CI: Core (JDK 21/26)" | |
| on: | |
| push: | |
| branches: [ '**' ] | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'LICENSE' | |
| pull_request: | |
| branches: [ main ] | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'LICENSE' | |
| jobs: | |
| architectural-validation: | |
| name: Architectural Validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Run Architectural Validation | |
| run: ./scripts/architectural-validation.sh | |
| doc-version-check: | |
| name: Documentation Version Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Verify doc versions are consistent | |
| run: | | |
| # Extract POM version | |
| POM_VERSION=$(grep -m1 '<version>' pom.xml | sed 's/.*<version>\(.*\)<\/version>.*/\1/') | |
| echo "POM version: $POM_VERSION" | |
| if [[ "$POM_VERSION" == *-SNAPSHOT ]]; then | |
| # During dev, docs should reference the last release | |
| BASE="${POM_VERSION%-SNAPSHOT}" | |
| IFS='.' read -r MAJ MIN PATCH <<< "$BASE" | |
| EXPECTED="$MAJ.$MIN.$((PATCH - 1))" | |
| else | |
| EXPECTED="$POM_VERSION" | |
| fi | |
| echo "Expected doc version: $EXPECTED" | |
| # Check all doc/README version references | |
| STALE=$(grep -rn '<version>[0-9]' docs/ modules/*/README.md README.md 2>/dev/null \ | |
| | grep -v "$EXPECTED" \ | |
| | grep -v 'CHANGELOG\|target/\|node_modules' || true) | |
| if [ -n "$STALE" ]; then | |
| echo "::warning::Documentation version drift detected (expected $EXPECTED):" | |
| echo "$STALE" | |
| echo "" | |
| echo "Fix with: ./scripts/update-doc-versions.sh $EXPECTED" | |
| else | |
| echo "All documentation references match $EXPECTED" | |
| fi | |
| build-and-test: | |
| name: Build & Test (JDK ${{ matrix.java-version }}) | |
| runs-on: ubuntu-latest | |
| needs: architectural-validation | |
| strategy: | |
| matrix: | |
| include: | |
| - java-version: 21 | |
| distribution: temurin | |
| - java-version: 26 | |
| distribution: oracle | |
| # PMD's ASM does not yet support class file major version 70 (JDK 26) | |
| mvn-extra-args: -Dpmd.skip=true | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up JDK ${{ matrix.java-version }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ matrix.java-version }} | |
| distribution: ${{ matrix.distribution }} | |
| cache: 'maven' | |
| - name: Build Core Modules | |
| run: ./mvnw -B clean install -DskipTests -Dgpg.skip=true ${{ matrix.mvn-extra-args }} | |
| - name: Run Core Tests | |
| run: ./mvnw -B test -Dgpg.skip=true ${{ matrix.mvn-extra-args }} -pl modules/cpr,modules/ai,modules/mcp,modules/kotlin,modules/spring-ai,modules/langchain4j,modules/embabel,modules/redis,modules/kafka,modules/durable-sessions,modules/durable-sessions-sqlite,modules/durable-sessions-redis,modules/integration-tests,modules/quarkus-extension,modules/spring-boot-starter,modules/spring-boot3-starter,modules/coordinator,modules/agent | |
| - name: Upload Test Results | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-results-jdk-${{ matrix.java-version }} | |
| path: | | |
| **/target/surefire-reports/ | |
| **/target/failsafe-reports/ | |
| # E2E tests run in a separate workflow (e2e.yml) so failures | |
| # don't block build results and individual groups can be re-run independently. |