98 lines
2.4 KiB
YAML
98 lines
2.4 KiB
YAML
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
|