Got questions, feedback, or feature requests? Join our community on Slack!
Batfish Docker
This repo has the source files to build Batfish
and allinone
docker containers that provide a quick way to start using Batfish.
Follow the instructions on readthedocs to get started using Batfish.
Building and pushing Batfish artifacts
This repo defines a couple buildkite pipelines, including an upload
pipeline. The upload
pipeline builds and tests candidate release artifacts: docker images and the Pybatfish wheel.
This pipeline runs several cross-version tests: different versions of Batfish versus different versions of Pybatfish to ensure backward compatibility of new releases. For example, the pipeline step :snake: dev <-> :batfish: prod
tests the new Pybatfish Python wheel (dev) versus the most recent release of Batfish (prod). Each of these cross-version checks run the integration tests defined in the Pybatfish repo.
Fixing new-feature tests
The most common cross-version test failure we see comes from adding tests for something not supported in old versions of Batfish or Pybatfish. In this case, the new integration test needs to have a minimum-version annotation (see details in the Pybatfish developer readme, here) attached in order to run the test to only on that version (or later) Batfish and Pybatfish.