# this workflow runs the remote validate bake target from docker/docker.github.io
# to check if yaml reference docs and markdown files used in this repo are still valid
# https://github.com/docker/docker.github.io/blob/98c7c9535063ae4cd2cd0a31478a21d16d2f07a3/docker-bake.hcl#L34-L36
name: docs-upstream

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

on:
  push:
    branches:
      - 'master'
      - 'v[0-9]*'
    paths:
      - '.github/workflows/docs-upstream.yml'
      - 'docs/**'
  pull_request:
    paths:
      - '.github/workflows/docs-upstream.yml'
      - 'docs/**'

jobs:
  docs-yaml:
    runs-on: ubuntu-22.04
    steps:
      -
        name: Checkout
        uses: actions/checkout@v3
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
        with:
          version: latest
      -
        name: Build reference YAML docs
        uses: docker/bake-action@v2
        with:
          targets: update-docs
          set: |
            *.output=/tmp/buildx-docs
            *.cache-from=type=gha,scope=docs-yaml
            *.cache-to=type=gha,scope=docs-yaml,mode=max
        env:
          DOCS_FORMATS: yaml
      -
        name: Upload reference YAML docs
        uses: actions/upload-artifact@v3
        with:
          name: docs-yaml
          path: /tmp/buildx-docs/out/reference
          retention-days: 1

  validate:
    uses: docker/docs/.github/workflows/validate-upstream.yml@main
    needs:
      - docs-yaml
    with:
      repo: https://github.com/${{ github.repository }}
      data-files-id: docs-yaml
      data-files-folder: buildx
      data-files-placeholder-folder: engine/reference/commandline