name: Build example projects and publish them to GitHub Actions Artifacts

on:
  pull_request:
  push:
    branches:
      - master

jobs:
  coroutines:
    runs-on: ubuntu-latest
    if: github.repository == 'Kotlin/dokka'
    steps:
      - name: Checkout dokka
        uses: actions/checkout@v3
        with:
          submodules: true
      - uses: actions/setup-java@v3
        with:
          distribution: 'zulu'
          java-version: 17
          cache: 'maven'
      - name: Document coroutines
        uses: gradle/gradle-build-action@v2
        with:
          gradle-home-cache-cleanup: true
          arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.CoroutinesGradleIntegrationTest --stacktrace
        env:
          DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/coroutines
      - name: Copy files to GitHub Actions Artifacts
        uses: actions/upload-artifact@v3
        with:
          name: dokka-coroutines
          path: /home/runner/work/dokka/coroutines
          retention-days: 7

  serialization:
    runs-on: ubuntu-latest
    if: github.repository == 'Kotlin/dokka'
    steps:
      - name: Checkout dokka
        uses: actions/checkout@v3
        with:
          submodules: true
      - uses: actions/setup-java@v3
        with:
          distribution: 'zulu'
          java-version: 17
          cache: 'maven'
      - name: Document serialization
        uses: gradle/gradle-build-action@v2
        with:
          gradle-home-cache-cleanup: true
          arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.SerializationGradleIntegrationTest --stacktrace
        env:
          DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/serialization
      - name: Copy files to GitHub Actions Artifacts
        uses: actions/upload-artifact@v3
        with:
          name: dokka-serialization
          path: /home/runner/work/dokka/serialization
          retention-days: 7

  biojava:
    runs-on: ubuntu-latest
    if: github.repository == 'Kotlin/dokka'
    steps:
      - name: Checkout dokka
        uses: actions/checkout@v3
        with:
          submodules: true
      - uses: actions/setup-java@v3
        with:
          distribution: 'zulu'
          java-version: 17
          cache: 'maven'
      - name: Document biojava-core
        uses: gradle/gradle-build-action@v2
        with:
          gradle-home-cache-cleanup: true
          arguments: :integration-tests:maven:integrationTest --tests org.jetbrains.dokka.it.maven.BiojavaIntegrationTest --stacktrace
        env:
          DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/biojava
      - name: Copy files to GitHub Actions Artifacts
        uses: actions/upload-artifact@v3
        with:
          name: dokka-biojava
          path: /home/runner/work/dokka/biojava
          retention-days: 7