name: Build framework coverage reports

on:
  workflow_dispatch:
    inputs:
      qlModelShaOverride:
        description: "github/codeql repo SHA used for looking up the CSV models"
        required: false

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Clone self (github/codeql)
        uses: actions/checkout@v4
        with:
          path: script
      - name: Clone self (github/codeql) for analysis
        uses: actions/checkout@v4
        with:
          path: codeqlModels
          ref: ${{ github.event.inputs.qlModelShaOverride || github.ref }}
      - name: Set up Python 3.8
        uses: actions/setup-python@v4
        with:
          python-version: 3.8
      - name: Download CodeQL CLI
        uses: ./script/.github/actions/fetch-codeql
      - name: Build modeled package list
        run: |
          python script/misc/scripts/library-coverage/generate-report.py ci codeqlModels script
      - name: Upload CSV package list
        uses: actions/upload-artifact@v3
        with:
          name: framework-coverage-csv
          path: framework-coverage-*.csv
      - name: Upload RST package list
        uses: actions/upload-artifact@v3
        with:
          name: framework-coverage-rst
          path: framework-coverage-*.rst
