# 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: E2E

on:
  pull_request:
  schedule:
    - cron: '0 18 * * *'

env:
  SW_AGENT_JDK_VERSION: 8

concurrency:
  group: e2e-cluster-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  CoordinatorsStorage:
    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
    name: Coordinators & Storage
    timeout-minutes: 90
    runs-on: ubuntu-latest
    strategy:
      matrix:
        coordinator: ['zk']
        storage: ['mysql', 'es6', 'es7', 'influxdb']
    env:
      SW_COORDINATOR: ${{ matrix.coordinator }}
      SW_STORAGE: ${{ matrix.storage }}
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      - name: Set Skip Env Var
        uses: ./.github/actions/skip
      - name: Run E2E Test
        if: env.SKIP_CI != 'true'
        uses: ./.github/actions/e2e-test
        with:
          test_class: org.apache.skywalking.e2e.ClusterE2E

  Cluster:
    if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
    runs-on: ubuntu-latest
    timeout-minutes: 90
    needs: [CoordinatorsStorage]
    steps:
      - name: Call me by your name
        run: echo "Birds of a feather flock together"
