arrow¶
This example shows how to use foga to build, test, and document Apache
Arrow, the columnar data platform. It combines system package installation, a
native CMake build, Python installs, pytest, and Sphinx docs in one working
configuration.
The example pins Arrow to commit 36c8c9a (apache-arrow-24.0.0.dev-318-g36c8c9a24a)
to keep the demo reproducible.
Typical workflow¶
Start the example container:
examples/arrow/run-in-docker.py
Once inside the container:
Validate the configuration before running any workflow:
foga validateBuild the Arrow C++ targets:
foga build cpp
Install the Python test environment and run tests:
foga install --target test-env foga test
Build the arrow documentation through the configured docs workflow:
foga docs
What this example demonstrates¶
one config coordinating system setup, native build, Python install, tests, docs, and cleanup
a credible upstream integration instead of a toy repository
heavier docs handling, where
foga docsrebuilds Arrow C++ with a docs profile and reinstallsdocs-envin pre-hooks before running Sphinx