Skip to content

Commit

Permalink
chore: the basics
Browse files Browse the repository at this point in the history
  • Loading branch information
cpcloud committed Nov 4, 2024
1 parent 7f7c6d3 commit 6f30def
Show file tree
Hide file tree
Showing 34 changed files with 7,071 additions and 9,584 deletions.
3 changes: 1 addition & 2 deletions .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ use flake

dotenv

watch_file poetry.lock
watch_file uv.lock
watch_file nix/overlay.nix
watch_file nix/quarto/default.nix
watch_file poetry-overrides.nix
2 changes: 1 addition & 1 deletion .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ dependencies:
- changed-files:
- any-glob-to-any-file: "**/*.nix"
- any-glob-to-any-file: "flake.lock"
- any-glob-to-any-file: "poetry.lock"
- any-glob-to-any-file: "uv.lock"
- any-glob-to-any-file: "requirements-dev.txt"
- any-glob-to-any-file: "conda/*.yml"

Expand Down
2 changes: 1 addition & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"docker-compose",
"dockerfile",
"github-actions",
"poetry"
"pep621"
],
"automerge": false,
"labels": ["dependencies"],
Expand Down
22 changes: 15 additions & 7 deletions .github/workflows/check-generated-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ on:
push:
paths:
- README.md
- poetry.lock
- uv.lock
- pyproject.toml
- requirements-dev.txt
pull_request:
paths:
- README.md
- poetry.lock
- uv.lock
- pyproject.toml
- requirements-dev.txt

Expand All @@ -23,6 +23,11 @@ env:
SQLALCHEMY_WARN_20: "1"
HYPOTHESIS_PROFILE: "ci"

permissions:
# this allows extractions/setup-just to list releases for `just` at a higher
# rate limit while restricting GITHUB_TOKEN permissions elsewhere
contents: read

jobs:
check_setuptools_install:
runs-on: ubuntu-latest
Expand All @@ -38,20 +43,23 @@ jobs:
cache: pip
cache-dependency-path: requirements-dev.txt

- name: install poetry
run: pip install 'poetry==1.8.4'
- name: install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true

- name: update apt-get
run: sudo apt-get update -y -q

- name: install system dependencies
run: sudo apt-get install -y -q build-essential graphviz libgeos-dev freetds-dev unixodbc-dev

- name: check consistency with pyproject.toml
run: poetry check --lock
- uses: extractions/setup-just@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: generate requirements-dev.txt
run: poetry export --all-extras --with dev --with test --with docs --without-hashes --no-ansi > requirements-dev.txt
run: just export-deps

- name: check requirements-dev.txt
run: git diff --exit-code requirements-dev.txt
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
with:
name: ibis
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
extraPullNames: nix-community,poetry2nix
extraPullNames: nix-community

- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -77,7 +77,7 @@ jobs:
path: docs/**/.jupyter_cache

- name: run quarto check
run: nix develop '.#ibis311' --ignore-environment -c quarto check
run: nix develop '.#ibis311' --ignore-environment --keep HOME -c quarto check

- name: build docs
run: nix develop '.#ibis311' --ignore-environment --keep HOME -c just docs-build-all
Expand Down
27 changes: 13 additions & 14 deletions .github/workflows/ibis-backends-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,39 +46,39 @@ jobs:
- name: snowflake
title: Snowflake
extras:
- snowflake
- --extra snowflake
- name: databricks
title: Databricks
extras:
- databricks
- --extra databricks
include:
- python-version: "3.10"
backend:
name: bigquery
title: BigQuery
extras:
- bigquery
- --extra bigquery
- python-version: "3.12"
backend:
name: bigquery
title: BigQuery
extras:
- bigquery
- geospatial
- --extra bigquery
- --extra geospatial
- python-version: "3.10"
backend:
name: snowflake
title: Snowflake + Snowpark
key: snowpark
extras:
- snowflake
- --extra snowflake
- python-version: "3.11"
backend:
name: snowflake
title: Snowflake + Snowpark
key: snowpark
extras:
- snowflake
- --extra snowflake
steps:
- name: checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -110,15 +110,14 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: install poetry
run: pip install 'poetry==1.8.4'
- name: install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true

- name: install additional deps
if: matrix.backend.key == 'snowpark'
run: poetry add --lock snowflake-snowpark-python --python="==${{ steps.install_python.outputs.python-version }}"

- name: install ibis
run: poetry install --without dev --without docs --extras "${{ join(matrix.backend.extras, ' ') }} examples"
run: uv add --no-sync --optional snowflake snowflake-snowpark-python

- uses: extractions/setup-just@v2
env:
Expand Down Expand Up @@ -169,7 +168,7 @@ jobs:
run: echo "SNOWFLAKE_SNOWPARK=1" >> "$GITHUB_ENV"

- name: "run parallel tests: ${{ matrix.backend.name }}"
run: just ci-check -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup
run: just ci-check "${{ join(matrix.backend.extras, ' ') }} --extra examples" -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup

- name: upload code coverage
if: success()
Expand Down
Loading

0 comments on commit 6f30def

Please sign in to comment.