blob: 26b26894f422d32d4a54f576248ad20d9ce44d2d [file] [log] [blame]
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