# Based on KotlinConf App workflow # https://github.com/JetBrains/kotlinconf-app/blob/main/.github/workflows/web-deploy.yml name: Deploy Docs on: push: branches: [main] paths: - 'docs/**' - 'colorpicker-compose/**' - '.github/workflows/docs.yml' workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} cancel-in-progress: true permissions: contents: write jobs: build-and-deploy: name: Build and Deploy Kotlin/Wasm Docs runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v7 - name: Set up JDK 21 uses: actions/setup-java@v6 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle uses: gradle/actions/setup-gradle@v6 - name: Upgrade Yarn Lock run: ./gradlew kotlinUpgradeYarnLock - name: Build WASM run: ./gradlew :docs:wasmJsBrowserDistribution --stacktrace - name: Deploy to gh-pages branch uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./docs/build/dist/wasmJs/productionExecutable publish_branch: gh-pages force_orphan: true commit_message: 'docs: deploy production build'