name: test-main on: push: branches: - main paths: - "gradle/**" - "**.kts" - gradle.properties - gradlew - gradlew.bat - "**.kt" - "**.java" - .github/workflows/test-main.yml pull_request: branches: - main types: - opened - synchronize - reopened paths: - "gradle/**" - "**.kts" - gradle.properties - gradlew - gradlew.bat - "**.kt" - "**.java" - .github/workflows/test-main.yml workflow_dispatch: jobs: test-main: strategy: fail-fast: false matrix: # LTS versions, latest version (if exists) java-version: [ '8', '11', '17', '21', '22' ] # Minimum version, latest release version, latest pre-release version (if exists) kotlin: - name: '1.8.22' version: '1.8.22' k2: false - name: '1.9.23' version: '1.9.23' k2: false - name: '1.9.23 K2' version: '1.9.23' k2: true - name: '2.0.0-Beta5' version: '2.0.0-Beta5' k2: false - name: '2.0.0-Beta5 K2' version: '2.0.0-Beta5' k2: true env: KOTLIN_VERSION: ${{ matrix.kotlin.version }} USE_K2: ${{ matrix.kotlin.k2 }} name: "Kotlin ${{ matrix.kotlin.name }} - Java ${{ matrix.java-version }}" runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v4 - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v2 - name: 'Set up java ${{ matrix.java-version }}' uses: actions/setup-java@v4 with: java-version: '${{ matrix.java-version }}' distribution: 'corretto' - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 - name: Test run: ./gradlew test