1name: CI 2 3on: [push, pull_request] 4 5jobs: 6 build: 7 name: 'Kotlin ${{ matrix.kotlin-version }} | Test Mode ${{ matrix.kotlin-test-mode }}' 8 runs-on: ubuntu-latest 9 10 strategy: 11 fail-fast: false 12 matrix: 13 kotlin-test-mode: [ 'REFLECT', 'KSP', 'KAPT' ] 14 15 steps: 16 - name: Checkout 17 uses: actions/checkout@v2 18 19 - name: Validate Gradle Wrapper 20 uses: gradle/wrapper-validation-action@v1 21 22 - name: Generate cache key 23 run: ./.github/workflows/checksum.sh checksum.txt 24 25 - uses: actions/cache@v2 26 with: 27 path: ~/.gradle/caches 28 key: ${{ runner.os }}-gradle-${{ hashFiles('checksum.txt') }} 29 restore-keys: | 30 ${{ runner.os }}-gradle- 31 32 - name: Configure JDK 33 uses: actions/setup-java@v2 34 with: 35 distribution: 'zulu' 36 java-version: '17' 37 38 - name: Test 39 run: ./gradlew build check --stacktrace -PkotlinTestMode=${{ matrix.kotlin-test-mode }} 40 41 - name: Publish (default branch only) 42 if: github.repository == 'square/moshi' && github.ref == 'refs/heads/moshi_1.x' && matrix.kotlin-test-mode == 'reflect' 43 run: ./gradlew publish 44 env: 45 ORG_GRADLE_PROJECT_mavenCentralUsername: '${{ secrets.SONATYPE_NEXUS_USERNAME }}' 46 ORG_GRADLE_PROJECT_mavenCentralPassword: '${{ secrets.SONATYPE_NEXUS_PASSWORD }}' 47 ORG_GRADLE_PROJECT_signingInMemoryKey: '${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }}' 48