aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/gh-pages-deploy-examples.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/gh-pages-deploy-examples.yml')
-rw-r--r--.github/workflows/gh-pages-deploy-examples.yml99
1 files changed, 99 insertions, 0 deletions
diff --git a/.github/workflows/gh-pages-deploy-examples.yml b/.github/workflows/gh-pages-deploy-examples.yml
new file mode 100644
index 00000000..752d8f0f
--- /dev/null
+++ b/.github/workflows/gh-pages-deploy-examples.yml
@@ -0,0 +1,99 @@
+name: Deploy examples to GitHub Pages
+
+on:
+ push:
+ branches:
+ - master
+ paths:
+ - 'examples/**'
+
+jobs:
+ build-examples:
+ runs-on: ubuntu-latest
+ if: github.repository == 'Kotlin/dokka'
+ strategy:
+ matrix:
+ projects: [
+ dokka-gradle-example,
+ dokka-kotlinAsJava-example,
+ dokka-library-publishing-example,
+ dokka-multiplatform-example,
+ dokka-customFormat-example
+ ]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - 'examples/gradle/${{ matrix.projects }}/**'
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'zulu'
+ java-version: 17
+ cache: 'maven'
+ - uses: gradle/gradle-build-action@v2
+ with:
+ gradle-home-cache-cleanup: true
+ - name: Build html
+ run: ./gradlew dokkaHtml --no-daemon --stacktrace
+ working-directory: examples/gradle/${{ matrix.projects }}
+ if: steps.filter.outputs.examples_changed == 'true'
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ if: steps.filter.outputs.examples_changed == 'true'
+ with:
+ name: ${{ matrix.projects }}
+ path: examples/gradle/${{ matrix.projects }}/build/dokka
+
+ build-multimodule-examples:
+ runs-on: ubuntu-latest
+ if: github.repository == 'Kotlin/dokka'
+ strategy:
+ matrix:
+ projects: [
+ dokka-versioning-multimodule-example,
+ dokka-multimodule-example
+ ]
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - 'examples/gradle/${{ matrix.projects }}/**'
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'zulu'
+ java-version: 17
+ cache: 'maven'
+ - uses: gradle/gradle-build-action@v2
+ with:
+ gradle-home-cache-cleanup: true
+ - name: Build html
+ run: ./gradlew dokkaHtmlMultiModule --no-daemon --stacktrace
+ working-directory: examples/gradle/${{ matrix.projects }}
+ if: steps.filter.outputs.examples_changed == 'true'
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ if: steps.filter.outputs.examples_changed == 'true'
+ with:
+ name: ${{ matrix.projects }}
+ path: examples/gradle/${{ matrix.projects }}/parentProject/build/dokka
+
+ deploy-examples:
+ runs-on: ubuntu-latest
+ needs: [ build-examples, build-multimodule-examples ]
+ steps:
+ - uses: actions/download-artifact@v2
+ with:
+ path: public/examples
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ keep_files: true
+ publish_dir: ./public
+ full_commit_message: Publish examples