name: build on: [push, pull_request] env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" jobs: jvm: runs-on: ubuntu-latest strategy: fail-fast: false matrix: java-version: - 1.8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 steps: - name: Checkout uses: actions/checkout@v2 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: ${{ matrix.java-version }} - name: Test run: | ./gradlew -Dkjs=false -Dknative=false build - name: Upload Japicmp report if: failure() uses: actions/upload-artifact@master with: name: japicmp-report path: okio/jvm/japicmp/build/reports/japi.txt multiplatform: runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: 14 - name: Test run: | ./gradlew build windows: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: 1.8 - name: Test run: | ./gradlew build publish: runs-on: macOS-latest if: github.ref == 'refs/heads/master' needs: [jvm, multiplatform, windows] steps: - name: Checkout uses: actions/checkout@v2 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: 14 - name: Upload Artifacts run: | ./gradlew clean publish env: ORG_GRADLE_PROJECT_SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }} ORG_GRADLE_PROJECT_SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} publish-windows: runs-on: windows-latest if: github.ref == 'refs/heads/master' needs: [jvm, multiplatform, windows] steps: - name: Checkout uses: actions/checkout@v2 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: 1.8 - name: Upload Artifacts run: | ./gradlew clean publishMingwX64PublicationToMavenRepository env: ORG_GRADLE_PROJECT_SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }} ORG_GRADLE_PROJECT_SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} publish-website: runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' needs: [jvm, multiplatform] steps: - name: Checkout uses: actions/checkout@v2 - name: Configure JDK uses: actions/setup-java@v1 with: java-version: 14 - name: Set up Python uses: actions/setup-python@v2 with: python-version: 3.8 - name: Prepare docs run: .buildscript/prepare_mkdocs.sh - name: Build mkdocs run: | pip3 install mkdocs-macros-plugin mkdocs build - name: Deploy docs if: success() uses: JamesIves/github-pages-deploy-action@releases/v3 with: GITHUB_TOKEN: ${{ secrets.GH_CLIPPY_TOKEN }} BRANCH: gh-pages FOLDER: site SINGLE_COMMIT: true