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