Skip to content

Examples

Examples #9

Workflow file for this run

name: Examples
# The dataframe-idiom examples (R dbplyr, Python ibis) read the public
# source.coop mirror directly with a local DuckDB — no MCP server, no secrets.
# Each script self-checks (asserts on the result) so running it IS the test.
# The weekly schedule is the real value: it catches the mirror path / dataset
# rolling forward or a schema change before users hit it.
on:
push:
branches: [ main, master ]
paths: [ 'examples/query_dbplyr.R', 'examples/query_ibis.py', '.github/workflows/examples.yml' ]
pull_request:
branches: [ main, master ]
paths: [ 'examples/query_dbplyr.R', 'examples/query_ibis.py', '.github/workflows/examples.yml' ]
schedule:
- cron: '0 6 * * 1' # Mondays 06:00 UTC
workflow_dispatch:
jobs:
dbplyr:
name: R — dplyr/dbplyr
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- uses: r-lib/actions/setup-r@d3c5be51b12e724e68f33216ca3c148b66d5f0b6 # v2
with:
use-public-rspm: true # binary packages — no source compiles
- name: Install R packages
run: Rscript -e 'install.packages(c("duckdbfs", "dplyr"))'
- name: Run example
run: Rscript examples/query_dbplyr.R
ibis:
name: Python — ibis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.11'
- name: Install Python packages
run: |
python -m pip install --upgrade pip
pip install 'ibis-framework[duckdb]'
- name: Run example
run: python examples/query_ibis.py