New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please make the build reproducible #51419

Open
wants to merge 1 commit into
base: devel
from

Conversation

Projects
None yet
5 participants
@lamby
Copy link
Contributor

lamby commented Jan 29, 2019

Whilst working on the Reproducible Builds effort, we noticed that ansible could not be built reproducibly, mostly due to variations in the documentation between successive builds.

This pull request includes a number of changes to make it build in a determinstic manner. Currently it still varies a bit even with this patch, presumably due to nondetermistic filesystem ordering but it will be easier to see after these are merged.

@lamby

This comment has been minimized.

Copy link
Contributor Author

lamby commented Jan 29, 2019

(Force-pushed to drop one of the patches after rebasing from a devel from this century.)

@lamby lamby force-pushed the lamby:reproducible-build branch from 5f3ac5e to b619241 Jan 29, 2019

@ansibot ansibot added small_patch and removed needs_rebase labels Jan 29, 2019

@ansibot

This comment was marked as resolved.

Copy link
Contributor

ansibot commented Jan 29, 2019

The test ansible-test sanity --test ansible-doc --python 2.6 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: 'list' object has no attribute 'replace'

The test ansible-test sanity --test ansible-doc --python 2.7 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: 'list' object has no attribute 'replace'

The test ansible-test sanity --test ansible-doc --python 3.6 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: 'list' object has no attribute 'replace'

The test ansible-test sanity --test ansible-doc --python 3.5 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: 'list' object has no attribute 'replace'

The test ansible-test sanity --test ansible-doc --python 3.7 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: 'list' object has no attribute 'replace'

click here for bot help

@lamby lamby force-pushed the lamby:reproducible-build branch from b619241 to ff198a5 Jan 29, 2019

@ansibot

This comment was marked as resolved.

Copy link
Contributor

ansibot commented Jan 29, 2019

The test ansible-test sanity --test ansible-doc --python 2.7 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: expanduser() takes exactly 1 argument (2 given)

The test ansible-test sanity --test ansible-doc --python 2.6 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: expanduser() takes exactly 1 argument (2 given)

The test ansible-test sanity --test ansible-doc --python 3.5 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: expanduser() takes 1 positional argument but 2 were given

The test ansible-test sanity --test ansible-doc --python 3.6 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: expanduser() takes 1 positional argument but 2 were given

The test ansible-test sanity --test ansible-doc --python 3.7 [explain] failed with the error:

Command "ansible-doc -t cache jsonfile memcached memory mongodb pickle redis yaml" returned exit status 250.
>>> Standard Error
ERROR! Unexpected Exception, this is probably a bug: expanduser() takes 1 positional argument but 2 were given

click here for bot help

@lamby lamby force-pushed the lamby:reproducible-build branch from ff198a5 to 223f0d5 Jan 29, 2019

@dagwieers dagwieers added the docs label Jan 29, 2019

@bcoca bcoca removed the needs_triage label Jan 29, 2019

@jctanner

This comment has been minimized.

Copy link
Member

jctanner commented Jan 29, 2019

@lamby What artifacts are you producing to assert the build is reproducible? Python dist tarball, rpm, deb, ?

I'm not sure we can really accept this without some sort of ability to verify the behavior on our side as well.

needs_info

@ansibot ansibot added the needs_info label Jan 29, 2019

@lamby

This comment has been minimized.

Copy link
Contributor Author

lamby commented Jan 29, 2019

@ansibot ansibot removed the needs_info label Jan 29, 2019

bcoca added a commit to bcoca/ansible that referenced this pull request Jan 29, 2019

bcoca added a commit to bcoca/ansible that referenced this pull request Feb 18, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment