# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Multiplatform PR Builds

on:
  pull_request:
    branches:
      - "main"
    paths-ignore:
      - .github/**
      - docs/**
      - artwork/**
      - README.md
      - docker-*
      - index.md
      - jbang-catalog.json
      - Makefile
      - LICENSE
      - CLAUDE.md
      - CONTRIBUTING.md
      - jreleaser.yml
      - glama.json
      - SECURITY.md
      - .*

env:
  PROJECTS: ${{ github.workspace }}

jobs:
  build:

    runs-on: ${{ matrix.os }}
    continue-on-error: ${{ matrix.experimental }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        experimental: [false]
        include:
          - os: [ windows-latest ]
            experimental: true
      fail-fast: true

    steps:
    - name: Checkout Wanaku Capabilities SDK Main Project
      uses: actions/checkout@v6
      with:
        repository: wanaku-ai/wanaku-capabilities-java-sdk
        persist-credentials: false
        ref: main
        path: wanaku-capabilities-java-sdk
    - name: Set up JDK 21
      uses: actions/setup-java@v5
      with:
        java-version: '21'
        distribution: 'temurin'
        cache: maven
    - name: Build Wanaku Capabilities SDK Main Project
      run: mvn --no-transfer-progress -DskipTests clean install
      working-directory: ${{ github.workspace }}/wanaku-capabilities-java-sdk
    - uses: actions/checkout@v6
    - name: Build with Maven
      run: mvn -B --no-transfer-progress install --file pom.xml
    - name: Test Archetypes
      if: runner.os != 'Windows'
      run: bash tests/archetype-tests/test-archetypes.sh
