docs: ray example with ops - #1079
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
not yet ready for review |
e422dec to
b110f39
Compare
There was a problem hiding this comment.
Pull request overview
Adds a new “Ray” example project to the repository and publishes it in the docs, while also introducing BigQuery live integration test plumbing (fixtures, marker, and CI secrets) to support broader store coverage.
Changes:
- Introduce a new
examples/example-rayproject with 3 progressive scenarios (basic Ray pipeline, Ray+Dagster assets, and “production patterns” ops). - Add Ray example documentation page and register it in MkDocs nav; add snapshot/runbook coverage for the new example.
- Add BigQuery test marker + fixtures + a new live BigQuery integration test file; wire BigQuery secrets into CI workflows.
Reviewed changes
Copilot reviewed 34 out of 37 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Adds example-ray and dependencies (dagster-ray, tenacity), plus Ray optional deps section updates. |
tests/metadata_stores/test_bigquery_integration.py |
New live BigQuery integration tests (write/read + resolve_update). |
tests/metadata_stores/conftest.py |
Adds BigQuery store case and BigQuery project/dataset fixtures. |
tests/examples/test_ray.py |
Runs the Ray example via runbook scenarios (skips if Ray missing). |
tests/examples/test_example_snapshots.py |
Improves DuckLake temp-path overrides for snapshot isolation. |
tests/examples/__snapshots__/test_example_snapshots.ambr |
Adds the expected snapshot output for example-ray. |
pyproject.toml |
Registers the bigquery pytest marker. |
mkdocs.yml |
Adds “Ray” to the examples navigation. |
examples/example-ray/src/example_ray/basic_pipeline.py |
Example 1: Ray Data pipeline using MetaxyDatasource/MetaxyDatasink. |
examples/example-ray/src/example_ray/defs/assets/__init__.py |
Example 2: Dagster assets using Ray Data + BufferedMetadataWriter. |
examples/example-ray/src/example_ray/defs/assets/production.py |
Example 3: “production patterns” asset (run modes, counters, failure policy, branching writes). |
examples/example-ray/src/example_ray/defs/ops/run_config.py |
Run-mode config + sample selection helper. |
examples/example-ray/src/example_ray/defs/ops/worker.py |
Timed worker wrapper for per-row timing/error capture. |
examples/example-ray/src/example_ray/defs/ops/error_handling.py |
Failure policy utility. |
examples/example-ray/src/example_ray/defs/ops/counters.py |
Counter struct for Dagster metadata. |
examples/example-ray/src/example_ray/defs/ops/__init__.py |
Package init for ops helpers. |
examples/example-ray/src/example_ray/features.py |
Feature definitions for the Ray example graph. |
examples/example-ray/src/example_ray/definitions.py |
Dagster Definitions for Example 2 assets. |
examples/example-ray/src/example_ray/production_definitions.py |
Dagster Definitions for Example 3 assets. |
examples/example-ray/src/example_ray/materialize_dagster.py |
Programmatic materialization + verification for Example 2. |
examples/example-ray/src/example_ray/materialize_production.py |
Programmatic materialization + verification for Example 3. |
examples/example-ray/src/example_ray/__init__.py |
Package init. |
examples/example-ray/src/example_ray/__entrypoint__.py |
Entrypoint module for feature discovery. |
examples/example-ray/src/example_ray/defs/__init__.py |
Package init for defs/ (added/updated in PR). |
examples/example-ray/metaxy.toml |
Example config (DuckDB + DuckLake via SQLite catalog/local storage). |
examples/example-ray/pyproject.toml |
Example package metadata and dependencies. |
examples/example-ray/README.md |
Links to the hosted docs page. |
examples/example-ray/ruff.toml |
Extends repo Ruff config for the example package. |
examples/example-ray/.example.yaml |
Runbook scenarios for the example. |
examples/example-ray/.example.result.json |
Captured runbook output used by docs/tests. |
docs/examples/ray.md |
New docs page describing the Ray example and embedding code snippets. |
.pre-commit-config.yaml |
Excludes the Ray example’s lockfile from “added large files” check. |
.github/workflows/_qa.yml |
Adds BigQuery env/secrets + credential file write step for CI tests. |
.github/workflows/Pull Request.yml |
Passes BigQuery secrets through to reusable QA workflow; adds run-all-checks input wiring. |
.github/workflows/main.yml |
Passes BigQuery secrets through to QA workflow on main. |
.github/workflows/release.yml |
Passes BigQuery secrets through to QA workflow for release gating. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
49b3bf1 to
b150460
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 27 out of 30 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b150460 to
aa290e6
Compare
|
can you take a first rough look. As discussed:
|

resolves: #74
Summary
Changelog
Test Plan