#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: CI

on:
  pull_request:
  schedule:
    - cron: "0 18 * * *" # TimeZone: UTC 0

jobs:
  license-header:
    name: License header
    runs-on: ubuntu-latest
    timeout-minutes: 10
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Check license header
        uses: apache/skywalking-eyes@985866ce7e324454f61e22eb2db2e998db09d6f3

  dependency-license:
    name: Dependency licenses
    needs: [changes]
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Setup Go
        uses: actions/setup-go@v3
        with:
          go-version: "1.18"
      - name: Check Dependencies Licenses
        run: |
          go install github.com/apache/skywalking-eyes/cmd/license-eye@47febf5
          license-eye dependency resolve --summary ./dist-material/release-docs/LICENSE.tpl || exit 1
          if [ ! -z "$(git diff -U0 ./dist-material/release-docs/LICENSE)" ]; then
            echo "LICENSE file is not updated correctly"
            git diff -U0 ./dist-material/release-docs/LICENSE
            exit 1
          fi
      - name: Check Dependencies Licenses Invalid
        run: |
          go install github.com/apache/skywalking-eyes/cmd/license-eye@47febf5
          if [ ! -z "$(license-eye dependency check -v error | grep 'GPL\|LGPL\|ERROR')" ]; then
            echo "GPL or LGPL dependency LICENSE exists"
            license-eye dependency check -v error | grep 'GPL\|LGPL\|ERROR'
            exit 1
          fi
