aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/examples-build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/examples-build.yml')
-rw-r--r--.github/workflows/examples-build.yml146
1 files changed, 146 insertions, 0 deletions
diff --git a/.github/workflows/examples-build.yml b/.github/workflows/examples-build.yml
new file mode 100644
index 00000000..18aa2985
--- /dev/null
+++ b/.github/workflows/examples-build.yml
@@ -0,0 +1,146 @@
+name: Build examples
+
+on:
+ pull_request:
+ paths:
+ - 'examples/**'
+
+concurrency:
+ group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
+ cancel-in-progress: true
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ projects: [
+ examples/gradle/dokka-gradle-example,
+ examples/gradle/dokka-kotlinAsJava-example,
+ examples/gradle/dokka-library-publishing-example,
+ examples/gradle/dokka-multimodule-example,
+ examples/gradle/dokka-multiplatform-example,
+ examples/gradle/dokka-customFormat-example
+ ]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - '${{ 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
+ - run: ./gradlew build --no-daemon --stacktrace
+ working-directory: ${{ matrix.projects }}
+ if: steps.filter.outputs.examples_changed == 'true'
+
+ run-dokka-html:
+ strategy:
+ matrix:
+ projects: [
+ examples/gradle/dokka-gradle-example,
+ examples/gradle/dokka-kotlinAsJava-example,
+ examples/gradle/dokka-library-publishing-example,
+ examples/gradle/dokka-multiplatform-example,
+ examples/gradle/dokka-customFormat-example
+ ]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - '${{ 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
+ - run: ./gradlew dokkaHtml --no-daemon --stacktrace
+ working-directory: ${{ matrix.projects }}
+ if: steps.filter.outputs.examples_changed == 'true'
+
+ run-dokka-publishing:
+ strategy:
+ matrix:
+ tasks: [ dokkaJavadocJar, dokkaHtmlJar ]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - 'examples/gradle/dokka-library-publishing-example/**'
+ - 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
+ - run: ./gradlew ${{ matrix.tasks }} --no-daemon --stacktrace
+ working-directory: examples/gradle/dokka-library-publishing-example
+ if: steps.filter.outputs.examples_changed == 'true'
+
+ run-dokka-gradle-tasks:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - task: "dokkaHtmlMultiModule"
+ dir: "examples/gradle/dokka-multimodule-example"
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - '${{ matrix.dir }}/**'
+ - 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
+ - run: ./gradlew ${{ matrix.task }} --no-daemon --stacktrace
+ working-directory: ${{ matrix.dir }}
+ if: steps.filter.outputs.examples_changed == 'true'
+
+ run-dokka-maven-example:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: dorny/paths-filter@v2
+ id: filter
+ with:
+ filters: |
+ examples_changed:
+ - 'examples/maven/**'
+ working-directory: examples/maven
+ - uses: actions/setup-java@v3
+ with:
+ distribution: 'zulu'
+ java-version: 17
+ cache: 'maven'
+ - run: mvn compile dokka:dokka
+ working-directory: examples/maven
+ if: steps.filter.outputs.examples_changed == 'true'