Skip to content

Apache Superset

Apache Superset #775

name: Apache Superset
on:
pull_request:
branches: ~
paths:
- '.github/workflows/application-apache-superset.yml'
- 'application/apache-superset/**'
- '/requirements.txt'
push:
branches: [ main ]
paths:
- '.github/workflows/application-apache-superset.yml'
- 'application/apache-superset/**'
- '/requirements.txt'
# Allow job to be triggered manually.
workflow_dispatch:
# Run job each night after CrateDB nightly has been published.
schedule:
- cron: '0 3 * * *'
# Cancel in-progress jobs when pushing to the same branch.
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.ref }}
jobs:
test:
name: "
Superset: ${{ matrix.superset-version }}
Python: ${{ matrix.python-version }}
CrateDB: ${{ matrix.cratedb-version }}
on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ 'ubuntu-latest' ]
superset-version: [
# Deactivate testing 3.x until that patch landed.
# https://github.com/apache/superset/issues/33162
# https://github.com/apache/superset/pull/33216
# "3.*",
# Superset 4.x has been fixed.
"4.*",
# Don't test 5.x until there will be a patch release 5.0.1.
# https://github.com/apache/superset/issues/35942
# "5.*",
# Superset 6.x will work without much ado.
"6.0.0rc2",
]
python-version: [
"3.9",
"3.10",
"3.11",
]
cratedb-version: [ 'nightly' ]
exclude:
# Apache Superset 6.x no longer supports Python 3.9.
- superset-version: "6.0.0rc2"
python-version: "3.9"
include:
# Apache Superset 6.x supports Python 3.12.
- os: "ubuntu-latest"
cratedb-version: "nightly"
superset-version: "6.0.0rc2"
python-version: "3.12"
services:
cratedb:
image: crate/crate:${{ matrix.cratedb-version }}
ports:
- 4200:4200
- 5432:5432
env:
CRATE_HEAP_SIZE: 4g
steps:
- name: Acquire sources
uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
architecture: x64
cache: "pip"
cache-dependency-path: |
pyproject.toml
requirements.txt
requirements-test.txt
- name: Install utilities
run: |
pip install -r requirements.txt
- name: Install Apache Superset ${{ matrix.superset-version }}
run: |
pip install 'apache-superset==${{ matrix.superset-version }}'
- name: Validate application/apache-superset
run: |
ngr test --accept-no-venv application/apache-superset