Repository navigation
chore(deps): automated dependency updates (minor/patch) #196
Workflow file for this run
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/CD Pipeline | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up Java 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '25' | |
| distribution: 'temurin' | |
| - name: Cache Maven dependencies | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Make mvnw executable | |
| run: chmod +x ./mvnw | |
| - name: Run unit tests | |
| run: ./mvnw clean test | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: unit-test-results | |
| path: target/surefire-reports/ | |
| build: | |
| name: Build Application | |
| runs-on: ubuntu-latest | |
| needs: unit-tests | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up Java 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '25' | |
| distribution: 'temurin' | |
| - name: Cache Maven dependencies | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Make mvnw executable | |
| run: chmod +x ./mvnw | |
| - name: Build application | |
| run: ./mvnw clean package -DskipTests | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: application-jar | |
| path: target/*.jar | |
| protocol-conformance: | |
| name: MCP Protocol Conformance | |
| runs-on: ubuntu-latest | |
| needs: unit-tests | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up Java 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '25' | |
| distribution: 'temurin' | |
| - name: Cache Maven dependencies | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Make mvnw executable | |
| run: chmod +x ./mvnw | |
| # Runs on every PR, unlike the full integration suite below: these two ITs cover | |
| # what a client sees on the wire over both transports, and the stdio one launches | |
| # the packaged jar the way docs/setup.md documents (see #15). | |
| - name: Run protocol conformance ITs | |
| run: ./mvnw clean verify -Pintegration -Dit.test='Mcp*ConformanceIT' | |
| - name: Upload conformance test results | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: conformance-test-results | |
| path: target/failsafe-reports/ | |
| integration-tests: | |
| name: Integration Tests (Manual) | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, '[run-integration]') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v7 | |
| - name: Set up Java 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '25' | |
| distribution: 'temurin' | |
| - name: Cache Maven dependencies | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: ${{ runner.os }}-m2 | |
| - name: Make mvnw executable | |
| run: chmod +x ./mvnw | |
| - name: Run integration tests | |
| run: ./mvnw clean verify -DskipUTs=true | |
| - name: Upload integration test results | |
| uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: integration-test-results | |
| path: target/failsafe-reports/ |