name: Compliance

on:
  push:
    branches: [ main ]
  pull_request: {}

permissions:
  # https://docs.github.com/en/rest/overview/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-contents
  contents: read

jobs:
  compliance:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-go@v6
      with:
        go-version: stable

    - name: Download modules to local cache
      run: go mod download

    - name: Install go-licenses
      run: go install github.com/google/go-licenses@latest

    - name: Check licenses against allow list
      run: |
        # Pass allowed licenses as SPDX Identifiers: https://spdx.org/licenses/
        go-licenses check github.com/icinga/icinga-kubernetes/... \
          --allowed_licenses AGPL-3.0,Apache-2.0,BSD-2-Clause,BSD-3-Clause,ISC,MIT,MPL-2.0
