• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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