-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Update to python 3.7 (buster) and use build-args #2379
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
Conversation
Removed the multi-stage commits; this now only bumps to Python 3.7 and adds the build-args |
credential-helper tests failing https://jenkins.dockerproject.org/job/docker/job/docker-py/job/PR-2379/2/execution/node/125/log/
|
Looking if the output format changed between Jessie and Buster This is the output in Buster;
Which will produce this after grep'ing;
Looks like that might be the problem |
On Jessie;
It does the right thing;
So, yes, that looks to be the problem |
This looks to do the job; updating gpg2 --no-auto-check-trustdb --list-secret-key | awk '/^sec/{getline; $1=$1; print}'
9781B87DAB042E6FD51388A5464ED987A7B21401 |
The build arg can be used to either test different versions, but also makes it easier to "grep" when upgrading versions. The output format of `gpg2 --list-secret-keys` changed in the version installed on Buster, so `grep` was replaced with `awk` to address the new output format; Debian Jessie: gpg2 --no-auto-check-trustdb --list-secret-keys /root/.gnupg/secring.gpg ------------------------ sec 1024D/A7B21401 2018-04-25 uid Sakuya Izayoi <sakuya@gensokyo.jp> ssb 1024g/C235E4CE 2018-04-25 Debian Buster: gpg2 --no-auto-check-trustdb --list-secret-keys /root/.gnupg/pubring.kbx ------------------------ sec dsa1024 2018-04-25 [SCA] 9781B87DAB042E6FD51388A5464ED987A7B21401 uid [ultimate] Sakuya Izayoi <sakuya@gensokyo.jp> ssb elg1024 2018-04-25 [E] Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Hm... now Jenkins didn't run 😞 |
Triggered it manually 🤷♂ |
Seeing two failures locally; looks like it may be a wrong assumption in the test;
docker build --platform=foobar -<<EOF
FROM busybox
EOF
Error response from daemon: "foobar": unknown operating system or architecture: invalid argument
docker pull --platform=foobar hello-world:latest
Error response from daemon: "foobar": unknown operating system or architecture: invalid argument Ok; looks like the On Docker 18.09.7
Actually; same issue on Docker 19.03.0-rc3;
Looks like the containerd error isn't converted into the correct status code. |
Docker 18.03 returns a different string, but also looks to be returning a 500 for the
The
|
opened #2382 to address the "experimental" tests ping @shin- @ulyssessouza PTAL |
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 a little comment on Dockerfile's python tag
@@ -1,5 +1,6 @@ | |||
ARG PYTHON_VERSION=3.6 | |||
FROM python:$PYTHON_VERSION-jessie | |||
ARG PYTHON_VERSION=3.7 |
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.
Shouldn't it be ARG PYTHON_VERSION=3.7-stretch
to keep the same level of specificity in the TAG?
Or that removal was intentional?
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.
They're aliases. Removing it allows overriding it with PYTHON_VERSION=3.6-jessie
although that would now fail because of the gpg2
change.
Not sure if there was a specific reason to add the -jessie
suffix; I couldn't find one directly
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.
Hmmm.. checking here, It's not exactly the same image:
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.7-stretch 71c6ddda7cab 2 days ago 941MB
python 3.7 42d620af35be 2 days ago 918MB
I'm not against changing to 3.7
instead of 3.7-stretch
.
My point is just that we have to know it's a different image.
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.
Did you check the image's digest as well? Was your image cache out of date perhaps?
docker manifest inspect python:3.7
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2217,
"digest": "sha256:11454cd111137f54f2c91a624ab16b88d6dd31092a6f7fa267dea5e21b9f0a77",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
docker manifest inspect python:3.7-buster
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2217,
"digest": "sha256:11454cd111137f54f2c91a624ab16b88d6dd31092a6f7fa267dea5e21b9f0a77",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
docker manifest inspect python:3.7.4
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2217,
"digest": "sha256:11454cd111137f54f2c91a624ab16b88d6dd31092a6f7fa267dea5e21b9f0a77",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
docker manifest inspect python:3.7.4-buster
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2217,
"digest": "sha256:11454cd111137f54f2c91a624ab16b88d6dd31092a6f7fa267dea5e21b9f0a77",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
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 removed all my images and docker pull python:3.7
and docker pull python:3.7-stretch
. By the way, I don't see python:3.7-stretch
in your message.
My inspect on python:3.7-stretch
results in:
$ docker manifest inspect python:3.7-stretch
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
"manifests": [
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 2218,
"digest": "sha256:4cb0e5e9861fad660bbe72f0ae5a35e982daad0b7106612aa8ee4c9277faa7d6",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
...
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.
oh! 🤦♂ now see you're comparing with -stretch
, but 3.7
is equivalent to -buster
(which is current stable)
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.
Ahhh... Ok! I didn't know about buster
(since it was released July 6th, 2019). In my head stretch
was still the current stable. Sorry for that 🤦♂️
In this case, YES! You are right! I drop my charges 😅
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.
LGTM
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.
LGTM, thanks!
The build arg can be used to either test different versions, but also makes it easier to "grep" when upgrading versions.
The output format of
gpg2 --list-secret-keys
changed in the version installed on Buster, sogrep
was replaced withawk
to address the new output format;Debian Jessie:
Debian Buster:
Follow-up to #2377 and #2378 (first two commits are from those PR's)