✨ Add comprehensive integration test suite with CI/CD pipeline #10
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: Phase 2 Integration Tests | |
| on: | |
| push: | |
| branches: [ main, maven-index ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| unit-tests: | |
| name: Unit Tests (Phase 1) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: maven | |
| - name: Run unit tests | |
| run: mvn clean integration-test | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-test-results | |
| path: | | |
| **/target/surefire-reports/*.xml | |
| **/target/surefire-reports/*.txt | |
| jdtls-integration-tests: | |
| name: JDT.LS Integration Tests (Phase 2) | |
| runs-on: ubuntu-latest | |
| needs: unit-tests | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: maven | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.23.9' | |
| - name: Install Podman | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install podman | |
| - name: Verify Podman installation | |
| run: | | |
| podman --version | |
| podman info | |
| - name: Build JDT.LS container image with Podman | |
| run: | | |
| podman build -t jdtls-analyzer:test . | |
| - name: Run Phase 2 integration tests in container | |
| run: | | |
| podman run --rm \ | |
| -v "$(pwd)/java-analyzer-bundle.test:/tests:Z" \ | |
| -e WORKSPACE_DIR=/tests/projects \ | |
| -e JDTLS_PATH=/jdtls \ | |
| --workdir /tests/integration \ | |
| --entrypoint /bin/sh \ | |
| jdtls-analyzer:test \ | |
| -c "microdnf install -y golang && cd /tests/integration && go mod download && go test -v" | |
| timeout-minutes: 15 |