# Licensed to the Apache Software Foundation (ASF) under one or more
# license agreements; and to You under the Apache License, version 2.0:
#
#   https://www.apache.org/licenses/LICENSE-2.0
#
# This file is part of the Apache Pekko project, which was derived from Akka.
#

name: Link Validator

permissions: {}

on:
  workflow_dispatch:
  schedule:
    - cron: '0 6 * * *'

jobs:
  validate-links:
    runs-on: ubuntu-22.04
    if: github.repository == 'apache/pekko'
    steps:
      - name: Checkout
        uses: actions/checkout@v5

      - name: Checkout GitHub merge
        if: github.event.pull_request
        run: |-
          git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
          git checkout scratch

      - name: Setup Java 17
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: 17

      - name: Install sbt
        uses: sbt/setup-sbt@17575ea4e18dd928fe5968dbe32294b97923d65b # v1.1.13

      - name: Cache Coursier cache
        uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # v6.4.7
    
      - name: Setup Coursier
        uses: coursier/setup-action@039f736548afa5411c1382f40a5bd9c2d30e0383 # v1.3.9

      - name: Create the Pekko site
        env:
          DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
        run: |-
          cp .jvmopts-ci .jvmopts
          sbt -Dpekko.genjavadoc.enabled=true -Dpekko.genlicensereport.enabled=true "Javaunidoc/doc; Compile/unidoc; docs/paradox"

      - name: Run Link Validator
        run: cs launch net.runne::site-link-validator:0.2.4 -- scripts/link-validator.conf
