# 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: Revised Integration Tests shared workflow on: workflow_call: inputs: script: description: 'Which IT script to run' required: true type: string build_jdk: description: 'Which jdk version was used to build' required: true type: string runtime_jdk: description: 'Which JDK version to use at runtime' required: true type: string use_indexer: description: 'Which indexer to use' required: true type: string it: description: 'IT test Category' required: true type: string env: SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5 jobs: test: # Github job that runs a given revised/new IT against retrieved cached druid docker image name: ${{ inputs.it }} integration test (Compile=jdk${{ inputs.build_jdk }}, Run=jdk${{ inputs.runtime_jdk }}, Indexer=${{ inputs.use_indexer }}) runs-on: ubuntu-22.04 steps: - name: Checkout branch uses: actions/checkout@v3 - name: Setup java uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: ${{ inputs.build_jdk }} cache: maven - name: Retrieve cached docker image uses: actions/cache/restore@v3 with: key: druid-container-jdk${{ inputs.build_jdk }}.tar.gz path: | ./druid-container-jdk${{ inputs.build_jdk }}.tar.gz ./integration-tests-ex/image/target/env.sh - name: Load docker image run: | docker load --input druid-container-jdk${{ inputs.build_jdk }}.tar.gz docker images - name: Run IT run: ${{ inputs.script }}