-
Notifications
You must be signed in to change notification settings - Fork 88
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
allow choosing the test docker image #314
Conversation
Hmm, I don't actually see any use of |
How about allowing an arbitrary test image with something like : https://github.com/matthew-brett/multibuild/pull/103 ? See: https://github.com/matthew-brett/multibuild/issues/311#issuecomment-589696498 |
I think #103 is what I did with this PR: by specifying |
Oops - sorry - forgive my rush - you're right. If there was something coherent in my reply (there may not have been), it was wondering whether we should add the implicit constraint that the images have to have bitness tags associated with them. For example, do we want to constrain any testing images to have Is |
fixed up:
|
running
|
Now I think about it - I wonder whether we can make this be (optionally) a format string, as in the default would be something like Of course this wouldn't match what we do with |
For: you only need to give the base image name, the rest should have been set up by the image builders As an aside: Is there an "image naming for dummies" guide? I don't understand when the |
We could make a format-stringey thing like this:
The complexity would only be apparent for those who wanted to use it. So:
gives the expected result of the unchanged "mattip/xenial_something". The stuff after the colon is up the the image author - I don't know what the traditions are, of course it could be a version. |
The test images do not like using |
I think the content after the |
If we go with more standard names for the images, we could do
|
Fine with me. |
Yes, that's definitely cleaner, thanks. What do you think about refactoring DOCKER_IMAGE / DOCKER_BUILD_IMAGE ? |
Sorry - I was thinking of something like:
and then allowing
|
I will back out the changes I made. Those deep changes would need tests and a set of docker images close-to-but-not-exactly manylinux in order to be able to prove it works. |
be87db9
to
3d9327e
Compare
Note the problems started when I added |
Maybe try merging gh-315 into this branch. There are failures on xcode 8.0 and 7.3 that look unrelated, with errors in updating homebrew. |
Merging gh-315 made even the most basic linx64 CI run fail since no-one defines |
Interesting - I wonder why I didn't see that in my tests? I think the test is incorrect though - it's reasonable to require PYTHON_EXE there - it only makes sense for the particular Python you're installing into etc, not any generic Python. Just inserting |
I think all the travis tests are failing on gh-315. Until that is ready I tried using |
Yes - I saw that - but it should still be $PYTHON_EXE -mpip etc
|
It seems you are right, the test failed because it is using python2 instead of python3.7 |
Which test line? |
Just above the failing test in test_common_utils ...
|
If I do that tests might pass, but then when a real project uses The readme says the travis run should have a |
Ah yes - good point. That's deficiency of the design - that I didn't
separate the uses for these two cases. A workaround would be to do
something like
python_exe=${PYTHON_EXE:-python}
in the routine itself, and label the routine as usable for test and build.
|
The macOS xcode 7.3 and 8.0 builds failed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of small things.
common_utils.sh
Outdated
if [ -z "$supported_wheels" ]; then | ||
echo "ERROR: no supported wheels found" | ||
ls $wheelhouse/*.whl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe an echo here to say this is the listing of the wheelhouse directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will revert the addition, it didn't really help me debug the problem.
@@ -4,43 +4,11 @@ | |||
MULTIBUILD_DIR=$(dirname "${BASH_SOURCE[0]}") | |||
source $MULTIBUILD_DIR/common_utils.sh | |||
|
|||
# UNICODE_WIDTH selects "32"=wide (UCS4) or "16"=narrow (UCS2/UTF16) builds |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this need to go with cpython_path
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixing and adding a big comment
the same two outdated xcode 7.3 and 8.0 builds are failing. |
local docker_image="matthewbrett/trusty:$bitness" | ||
else | ||
# aarch64 is called arm64v8 in Ubuntu | ||
local plat_subst=$([ "$plat" == aarch64 ] && echo arm64v8 || echo $plat) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this constrain the test image to be Ubuntu, at least for the PLAT substitution case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know. Is arm64v8 an Ubuntu invention? I was using the base-docker image tags here, which are up to date vs the aarch64 ones which seem stale. google trends doesn't see any hits for arm64v8.
It would be easy enough to change this if needed. I think the chances of anyone but us building test images is quite small: it took me a few iterations to get the choose_python script to work properly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one more note for people who come back to this: travis calls it arm64
Ok - then - I propose merging - OK with you? |
Yes, I think it is ready for merge. |
Thanks Matti. |
I opened a new github org multi-build to hold recipes for new docker images for testing, and pushed a few to the dockerhub organization "multibuild". This PR adds an option to use them, and modifies 2 CI runs.
If this looks good, I can push more images to docker hub: xenial32 and bionic64, maybe reproduce the trusty ones too?