blob: 46c318954d1839e0066579ea1caceb0837c71beb [file] [log] [blame] [edit]
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
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 18
- name: Test
run: ./gradlew build
build-docs:
runs-on: ubuntu-latest
if: github.repository == 'square/kotlinpoet' && github.ref != 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 18
- name: Prep docs
run: ./gradlew dokkaHtml
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Build mkdocs
run: |
pip3 install -r .github/workflows/mkdocs-requirements.txt
mkdocs build
publish:
runs-on: ubuntu-latest
if: github.repository == 'square/kotlinpoet' && github.ref == 'refs/heads/master'
needs:
- jvm
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 18
- name: Upload Artifacts
run: ./gradlew publish
env:
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
- name: Prep docs
run: ./gradlew dokkaHtml
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Build mkdocs
run: |
pip3 install -r .github/workflows/mkdocs-requirements.txt
mkdocs build
- name: Deploy 🚀
if: success() && github.ref == 'refs/heads/master'
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: site # The folder the action should deploy.
SINGLE_COMMIT: true