| 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 |