name: Micro Integrator Build with Tests

on:
  pull_request:
    branches:
      - master

concurrency:
  group: ${{ github.event.number }}
  cancel-in-progress: true
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout Synapse
      uses: actions/checkout@v6
    - name: Set up JDK 21
      uses: actions/setup-java@v5
      with:
        java-version: '21.0.4'
        distribution: 'temurin'
    - name: Cache Maven packages
      uses: actions/cache@v4
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2
        restore-keys: ${{ runner.os }}-m2
    - name: Build Synapse with Maven
      run: mvn clean install --file pom.xml
    - name: Get synapse version
      run: mvn help:evaluate -Dexpression=project.version -q -DforceStdout > ../SYNAPSE_VERSION_FILE
    - name: Print synapse version
      run: |
        echo $(cat ../SYNAPSE_VERSION_FILE)
    - name: Checkout MI
      uses: actions/checkout@v6
      with: 
        repository: wso2/micro-integrator
        ref: refs/heads/master
    - name: Build MI with Maven
      run: mvn clean install -Dsynapse.version=$(cat ../SYNAPSE_VERSION_FILE) -fae --file ../micro-integrator/pom.xml
