feat(datafusion): add count_distinct, median, approx_median, stddev a… #5
This file contains 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: Cloud Backends | |
on: | |
push: | |
# Skip the backend suite if all changes are in the docs directory | |
paths-ignore: | |
- "docs/**" | |
- "mkdocs.yml" | |
branches: | |
- master | |
permissions: | |
# this allows extractions/setup-just to list releases for `just` at a higher | |
# rate limit while restricting GITHUB_TOKEN permissions elsewhere | |
contents: read | |
concurrency: | |
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} | |
cancel-in-progress: true | |
env: | |
FORCE_COLOR: "1" | |
jobs: | |
test_backends: | |
name: ${{ matrix.backend.title }} python-${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: | |
- "3.9" | |
- "3.11" | |
backend: | |
- name: bigquery | |
title: BigQuery | |
- name: snowflake | |
title: Snowflake | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: install python | |
uses: actions/setup-python@v4 | |
id: install_python | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: syphar/restore-virtualenv@v1 | |
with: | |
requirement_files: poetry.lock | |
custom_cache_key_element: ${{ matrix.backend.name }}-${{ steps.install_python.outputs.python-version }} | |
- run: python -m pip install --upgrade pip 'poetry<1.4' | |
- uses: syphar/restore-pip-download-cache@v1 | |
with: | |
requirement_files: poetry.lock | |
custom_cache_key_element: ${{ matrix.backend.name }}-${{ steps.install_python.outputs.python-version }} | |
- name: install ibis | |
run: poetry install --without dev --without docs --extras ${{ matrix.backend.name }} | |
- uses: extractions/setup-just@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: download backend data | |
run: just download-data | |
- uses: google-github-actions/auth@v1 | |
if: matrix.backend.name == 'bigquery' | |
with: | |
credentials_json: ${{ secrets.GCP_CREDENTIALS }} | |
- name: setup snowflake credentials | |
if: matrix.backend.name == 'snowflake' | |
run: | | |
pyversion="${{ matrix.python-version }}" | |
{ | |
echo "SNOWFLAKE_USER=${SNOWFLAKE_USER}" | |
echo "SNOWFLAKE_PASSWORD=${SNOWFLAKE_PASSWORD}" | |
echo "SNOWFLAKE_ACCOUNT=${SNOWFLAKE_ACCOUNT}" | |
echo "SNOWFLAKE_DATABASE=${SNOWFLAKE_DATABASE}" | |
echo "SNOWFLAKE_SCHEMA=${SNOWFLAKE_SCHEMA}_python${pyversion//./}" | |
echo "SNOWFLAKE_WAREHOUSE=${SNOWFLAKE_WAREHOUSE}" | |
} >> "$GITHUB_ENV" | |
env: | |
SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }} | |
SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }} | |
SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }} | |
SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }} | |
SNOWFLAKE_SCHEMA: ${{ secrets.SNOWFLAKE_SCHEMA }} | |
SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }} | |
- name: "run parallel tests: ${{ matrix.backend.name }}" | |
run: just ci-check -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup | |
- name: upload code coverage | |
if: success() | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: backend,${{ matrix.backend.name }},${{ runner.os }},python-${{ steps.install_python.outputs.python-version }} |