Skip to content

ci: add compatibility tests executed on PRs #1

ci: add compatibility tests executed on PRs

ci: add compatibility tests executed on PRs #1

name: Compatibility Tests
on:
pull_request:
branches: [ main ]
permissions:
contents: read
concurrency:
group: compat-${{ github.ref }}
cancel-in-progress: true
jobs:
compatibility-tests:
timeout-minutes: 20
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
gradle-version: ['7.6.6', '8.0.2', '8.14.3', '9.0.0']
example: ['simple-groovy', 'simple-kotlin']
include:
- gradle-version: '9.0.0'
java-version: '21'
- gradle-version: '8.14.3'
java-version: '17'
- gradle-version: '8.0.2'
java-version: '17'
- gradle-version: '7.6.6'
java-version: '17'
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.java-version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: ${{ matrix.gradle-version }}
- name: Test example project
working-directory: examples/${{ matrix.example }}
run: |
echo "Testing with Gradle ${{ matrix.gradle-version }} in ${{ matrix.example }}"
gradle initSpringBootProject --info --stacktrace
- name: Verify generated project
working-directory: examples/${{ matrix.example }}/build/generated-project/demo
run: |
if [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
echo "✅ Build file generated successfully. Running gradle buildEnvironment:"
chmod +x gradlew
./gradlew -q buildEnvironment
else
echo "❌ Build file not found. Available files:"
ls -lha
exit 1
fi