# # 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: BookKeeper StreamStorage Python Client on: pull_request: branches: - master - branch-* paths: - 'stream/**' - '.github/workflows/bk-streamstorage-python.yml' push: branches: - master - branch-* paths: - 'stream/**' - '.github/workflows/bk-streamstorage-python.yml' jobs: stream-storage-python-client-unit-tests: name: StreamStorage Python Client Unit Tests runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: checkout uses: actions/checkout@v4 - name: Tune Runner VM uses: ./.github/actions/tune-runner-vm - name: Test run: ./stream/clients/python/scripts/test.sh Stream-storage-python-client-integration-tests: name: StreamStorage Python Client Integration Tests runs-on: ubuntu-latest timeout-minutes: 60 steps: - name: checkout uses: actions/checkout@v4 - name: Tune Runner VM uses: ./.github/actions/tune-runner-vm - name: Cache local Maven repository id: cache uses: actions/cache@v4 with: path: | ~/.m2/repository/*/*/* !~/.m2/repository/org/apache/bookkeeper !~/.m2/repository/org/apache/distributedlog key: ${{ runner.os }}-bookkeeper-all-${{ hashFiles('**/pom.xml') }} - name: Set up JDK 11 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 11 - name: Build run: mvn -q -T 1C -B -nsu clean install -DskipTests -Dcheckstyle.skip -Dspotbugs.skip -Drat.skip -Dmaven.javadoc.skip - name: Pick ubuntu mirror for the docker image build run: | # pick the closest ubuntu mirror and set it to UBUNTU_MIRROR environment variable $GITHUB_WORKSPACE/dev/ci-tool pick_ubuntu_mirror - name: Build Test image run: ./stream/clients/python/docker/build-local-image.sh - name: Test run: ./stream/clients/python/scripts/docker_integration_tests.sh