2023-02-01 06:31:29 -05:00
|
|
|
# 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.
|
|
|
|
|
2023-03-16 01:34:43 -04:00
|
|
|
# GitHub workflow that runs revised/new ITs
|
2023-05-22 02:14:34 -04:00
|
|
|
|
|
|
|
name: "Revised ITs workflow"
|
2023-02-01 06:31:29 -05:00
|
|
|
on:
|
2023-02-20 05:45:15 -05:00
|
|
|
workflow_call:
|
2024-08-07 01:43:35 -04:00
|
|
|
inputs:
|
|
|
|
BACKWARD_COMPATIBILITY_IT_ENABLED:
|
|
|
|
description: "Flag for backward compatibility IT"
|
|
|
|
required: false
|
|
|
|
default: false
|
|
|
|
type: string
|
|
|
|
DRUID_PREVIOUS_VERSION:
|
|
|
|
description: "Previous druid versions to run the test against."
|
|
|
|
required: false
|
|
|
|
type: string
|
|
|
|
DRUID_PREVIOUS_VERSION_DOWNLOAD_URL:
|
|
|
|
description: "URL to download the previous druid version."
|
|
|
|
required: false
|
|
|
|
type: string
|
|
|
|
DRUID_PREVIOUS_IT_IMAGE_NAME:
|
|
|
|
description: "Druid previous version image name."
|
|
|
|
required: false
|
|
|
|
type: string
|
2023-02-20 05:45:15 -05:00
|
|
|
workflow_dispatch:
|
2023-02-01 06:31:29 -05:00
|
|
|
|
|
|
|
jobs:
|
2023-06-22 02:57:23 -04:00
|
|
|
changes:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
# Required permissions
|
|
|
|
permissions:
|
|
|
|
pull-requests: read
|
|
|
|
# Set job outputs to values from filter step
|
|
|
|
outputs:
|
|
|
|
# run everything if not a PR
|
|
|
|
core: ${{ steps.filter.outputs.core || github.event_name != 'pull_request'}}
|
|
|
|
# the common extension in revised ITs is different from the one in standard ITs
|
|
|
|
common-extensions: ${{ steps.filter.outputs.common-extensions }}
|
|
|
|
steps:
|
2024-03-08 03:05:26 -05:00
|
|
|
- uses: dorny/paths-filter@v3.0.0
|
2023-06-22 02:57:23 -04:00
|
|
|
if: github.event_name == 'pull_request'
|
|
|
|
id: filter
|
|
|
|
with:
|
|
|
|
filters: |
|
|
|
|
common-extensions:
|
|
|
|
- 'extension-core/(mysql-metadata-storage|druid-it-tools|druid-lookups-cached-global|druid-histogram|druid-datasketches|druid-parquet-extensions|druid-avro-extensions|druid-protobuf-extensions|druid-orc-extensions|druid-kafka-indexing-service|druid-s3-extensions|druid-multi-stage-query|druid-catalog)/**'
|
|
|
|
core:
|
|
|
|
- '!extension*/**'
|
|
|
|
|
2023-02-01 06:31:29 -05:00
|
|
|
it:
|
2023-06-22 02:57:23 -04:00
|
|
|
needs: changes
|
2023-02-01 06:31:29 -05:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2024-11-21 05:03:08 -05:00
|
|
|
# jdk: [11, 17]
|
|
|
|
jdk: [17]
|
2024-06-24 23:13:33 -04:00
|
|
|
it: [HighAvailability, MultiStageQuery, Catalog, BatchIndex, MultiStageQueryWithMM, InputSource, InputFormat, Security, Query]
|
2023-02-01 06:31:29 -05:00
|
|
|
#indexer: [indexer, middleManager]
|
|
|
|
indexer: [middleManager]
|
2023-02-03 23:11:17 -05:00
|
|
|
uses: ./.github/workflows/reusable-revised-its.yml
|
2023-06-22 02:57:23 -04:00
|
|
|
if: ${{ needs.changes.outputs.core == 'true' || needs.changes.outputs.common-extensions == 'true' }}
|
2023-02-01 06:31:29 -05:00
|
|
|
with:
|
|
|
|
build_jdk: ${{ matrix.jdk }}
|
|
|
|
runtime_jdk: ${{ matrix.jdk }}
|
|
|
|
use_indexer: ${{ matrix.indexer }}
|
|
|
|
script: ./it.sh github ${{ matrix.it }}
|
|
|
|
it: ${{ matrix.it }}
|
2023-02-15 00:33:25 -05:00
|
|
|
mysql_driver: com.mysql.jdbc.Driver
|
2023-03-30 15:15:53 -04:00
|
|
|
|
|
|
|
s3-deep-storage-minio:
|
2023-06-22 02:57:23 -04:00
|
|
|
needs: changes
|
2023-03-30 15:15:53 -04:00
|
|
|
uses: ./.github/workflows/reusable-revised-its.yml
|
2023-06-22 02:57:23 -04:00
|
|
|
if: ${{ needs.changes.outputs.core == 'true' || needs.changes.outputs.common-extensions == 'true' }}
|
2023-03-30 15:15:53 -04:00
|
|
|
with:
|
2024-11-21 05:03:08 -05:00
|
|
|
build_jdk: 17
|
|
|
|
runtime_jdk: 21.0.4
|
2023-03-30 15:15:53 -04:00
|
|
|
use_indexer: middleManager
|
|
|
|
script: ./it.sh github S3DeepStorage
|
|
|
|
it: S3DeepStorage
|
|
|
|
mysql_driver: com.mysql.jdbc.Driver
|
|
|
|
DRUID_CLOUD_BUCKET: druid-qa
|
|
|
|
DRUID_CLOUD_PATH: aws-${{ github.run_id }}-${{ github.run_attempt }}
|
|
|
|
AWS_REGION: us-east-1
|
|
|
|
AWS_ACCESS_KEY_ID: admin
|
|
|
|
AWS_SECRET_ACCESS_KEY: miniopassword
|
2024-08-07 01:43:35 -04:00
|
|
|
|
|
|
|
backward-compatibility-it:
|
|
|
|
needs: changes
|
|
|
|
uses: ./.github/workflows/reusable-revised-its.yml
|
|
|
|
if: ${{ inputs.BACKWARD_COMPATIBILITY_IT_ENABLED == 'true' && (needs.changes.outputs.core == 'true' || needs.changes.outputs.common-extensions == 'true') }}
|
|
|
|
with:
|
2024-11-21 05:03:08 -05:00
|
|
|
build_jdk: 17
|
|
|
|
runtime_jdk: 17
|
2024-08-07 01:43:35 -04:00
|
|
|
use_indexer: middleManager
|
|
|
|
script: ./it.sh github BackwardCompatibilityMain
|
|
|
|
it: BackwardCompatibilityMain
|
|
|
|
mysql_driver: com.mysql.jdbc.Driver
|
|
|
|
BACKWARD_COMPATIBILITY_IT_ENABLED: ${{ inputs.BACKWARD_COMPATIBILITY_IT_ENABLED }}
|
|
|
|
DRUID_PREVIOUS_VERSION: ${{ inputs.DRUID_PREVIOUS_VERSION }}
|
|
|
|
DRUID_PREVIOUS_VERSION_DOWNLOAD_URL: ${{ inputs.DRUID_PREVIOUS_VERSION_DOWNLOAD_URL }}
|
|
|
|
DRUID_PREVIOUS_IT_IMAGE_NAME: ${{ inputs.DRUID_PREVIOUS_IT_IMAGE_NAME }}
|
|
|
|
DRUID_CLOUD_BUCKET: druid-qa
|
|
|
|
DRUID_CLOUD_PATH: aws-${{ github.run_id }}-${{ github.run_attempt }}
|
|
|
|
AWS_REGION: us-east-1
|
|
|
|
AWS_ACCESS_KEY_ID: admin
|
|
|
|
AWS_SECRET_ACCESS_KEY: miniopassword
|