Skip to content

Backport Jan21 to Apr21 (6f71dd7 to 3f2cbb9) #145

Backport Jan21 to Apr21 (6f71dd7 to 3f2cbb9)

Backport Jan21 to Apr21 (6f71dd7 to 3f2cbb9) #145

Workflow file for this run

name: "Lint and Test"
on:
pull_request:
branches:
- timeplus
paths-ignore:
- "VERSION"
- "LICENSE"
- "**.md"
- "examples"
- "publish.yaml"
- ".github/workflows/clickhouse_ci.yml"
- ".github/workflows/on_push.yml"
workflow_dispatch:
push:
branches-ignore:
- "*_test"
- "*_dev"
- "*_build"
- "release_*"
- timeplus
paths-ignore:
- "VERSION"
- "LICENSE"
- "**.md"
- "examples"
- "publish.yaml"
- ".github/workflows/clickhouse_ci.yml"
- ".github/workflows/on_push.yml"
jobs:
lint:
runs-on: ubuntu-latest
name: PyLint
steps:
- uses: actions/checkout@v4
- name: Set up Python (3.11)
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
pip install -r tests/test_requirements.txt
pip install astroid==3.3.5
pip install pylint==3.3.1
python setup.py build_ext --inplace
- name: Run Pylint
run: |
pylint timeplus_connect
pylint tests
pylint examples
tests:
runs-on: ubuntu-latest
needs: lint
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
timeplus-version:
- latest
name: Local Tests Py=${{ matrix.python-version }} TP=${{ matrix.timeplus-version }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Start Timeplus (version - ${{ matrix.timeplus-version }}) in Docker
uses: hoverkraft-tech/compose-action@v2.0.0
env:
TIMEPLUS_CONNECT_TEST_TP_VERSION: ${{ matrix.timeplus-version }}
with:
compose-file: "docker-compose.yml"
down-flags: "--volumes"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install pip
run: python -m pip install --upgrade pip
- name: Install Test Dependencies
run: pip install -r tests/test_requirements.txt
- name: Build cython extensions
run: python setup.py build_ext --inplace
- name: "Add distribution info" # This lets SQLAlchemy find entry points
run: python setup.py develop
- name: Add ClickHouse TLS instance to /etc/hosts
run: |
sudo echo "127.0.0.1 server1.clickhouse.test" | sudo tee -a /etc/hosts
df -h
- name: Run tests
env:
# CLICKHOUSE_CONNECT_TEST_TLS: 1
CLICKHOUSE_CONNECT_TEST_DOCKER: "False"
CLICKHOUSE_CONNECT_TEST_FUZZ: 50
SQLALCHEMY_SILENCE_UBER_WARNING: 1
run: pytest tests
check-secret:
runs-on: ubuntu-latest
needs: tests
outputs:
has_secrets: ${{ steps.has_secrets.outputs.HAS_SECRETS }}
steps:
- id: has_secrets
env:
CLOUD_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST }}
if: "${{ env.CLOUD_HOST != '' }}"
run: echo "HAS_SECRETS=true" >> $GITHUB_OUTPUT
# cloud-tests:
# runs-on: ubuntu-latest
# name: Cloud Tests Py=${{ matrix.python-version }}
# needs: check-secret
# if: needs.check-secret.outputs.has_secrets == 'true'
# strategy:
# matrix:
# python-version:
# - '3.10'
# - '3.11'