NO-SNOW Release 4.0.0-rc7 (#1257) #3121
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Kafka Connector Java Integration Tests | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: '**' | |
| jobs: | |
| build_and_test: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast | |
| matrix: | |
| snowflake_cloud: ['AWS'] # for now only AWS has support for ssv2 | |
| # snowflake_cloud: [ 'AWS', 'AZURE', 'GCP' ] | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: "Install Java 11" | |
| uses: actions/setup-java@v1 | |
| with: | |
| java-version: 11 | |
| - name: "Cache local Maven repository" | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Install Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.9' | |
| architecture: 'x64' | |
| - name: Decrypt profile.json in Snowflake Cloud ${{ matrix.snowflake_cloud }} | |
| run: ./.github/scripts/decrypt_secret.sh ${{ matrix.snowflake_cloud }} | |
| env: | |
| SNOWFLAKE_TEST_PROFILE_SECRET: ${{ secrets.SNOWFLAKE_TEST_PROFILE_SECRET }} | |
| - name: Install Dependency | |
| run: | | |
| pip3 install --upgrade setuptools | |
| pip3 install requests certifi "confluent-kafka[avro,json,protobuf]==1.9.2" | |
| pip3 install avro kafka-python | |
| pip3 install protobuf | |
| pip3 install --upgrade snowflake-connector-python==2.7.4 | |
| curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash | |
| sudo apt update | |
| sudo apt-get -y install jq vim | |
| sudo apt-get -y install protobuf-compiler | |
| - name: Install Squid as Proxy Server and Apache Utils for Password Authentication | |
| run: | | |
| sudo apt-get -y install squid | |
| sudo apt-get install apache2-utils | |
| - name: Change squid config and run Proxy Server | |
| run: | | |
| sudo touch /etc/squid/passwords | |
| sudo chmod 777 /etc/squid/passwords | |
| sudo htpasswd -db -c /etc/squid/passwords admin test | |
| sudo mv .github/scripts/squid.conf /etc/squid/squid.conf | |
| sudo service squid start | |
| - name: Unit and Integration Test - ${{ matrix.snowflake_cloud }} | |
| env: | |
| SNOWFLAKE_CREDENTIAL_FILE: "../profile.json" | |
| SHELL: "/bin/bash" | |
| run: | | |
| set -Eeuo pipefail | |
| # line-buffer stdout/stderr for all child procs | |
| export PYTHONUNBUFFERED=1 | |
| export RUST_BACKTRACE=1 | |
| cd test | |
| trap 'echo "::group::Last 1000 lines of logs"; tail -n 1000 build.log || true; echo "::endgroup::"' ERR | |
| stdbuf -oL -eL ./build_runtime_jar.sh ../../snowflake-kafka-connector verify apache ${{ matrix.snowflake_cloud }} 2>&1 | tee build.log |