Skip to content

_PipelineSelection: implement __repr__ for docs reproducibility#2139

Open
tti0 wants to merge 1 commit into
apache:masterfrom
tti0:tti0/repr-impl-docs
Open

_PipelineSelection: implement __repr__ for docs reproducibility#2139
tti0 wants to merge 1 commit into
apache:masterfrom
tti0:tti0/repr-impl-docs

Conversation

@tti0

@tti0 tti0 commented Jun 28, 2026

Copy link
Copy Markdown

I have been looking to package BuildStream's documentation alongside the application and library in Debian. Debian policy now requires that binary packages, including documentation, are reproducible, so this MR is motivated by fixing the (only) reproducibility failure Debian CI discovered in BuildStream's documentation, in the Using / Commands page.

This is my first upstream patch to BuildStream, so I am of course happy to adjust as needed. Thank you for your consideration!


sphinx-click uses __repr__ when rendering the default option of a click.choice in the HTML documentation [ref].

Implementing __repr__ on _PipelineSelection gives more helpful (and reproducible) documentation than the default representation, <buildstream.types._PipelineSelection object at 0x7f775b6b4ec0>. As an example in the documentation of bst show:

Mainline:

image

This branch:

image

sphinx-click uses __repr__ when rendering the default option of a
click.choice in the documentation.

Implementing this on _PipelineSelection gives more helpful (and
reproducible) documentation than the default representation,
`<buildstream.types._PipelineSelection object at 0x7f775b6b4ec0>`.
@tti0 tti0 force-pushed the tti0/repr-impl-docs branch from b8bf0ee to 00544d3 Compare June 28, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant