Skip to content
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

[20.10 backport] add checks for binary versions set through build-time variables #637

Merged
merged 2 commits into from Mar 7, 2022

Commits on Mar 7, 2022

  1. Add checks for binary versions set through build-time variables

    Make sure that these versions are set, and match the expected versions
    
    DEB:
    
           debian/rules override_dh_auto_test
        make[1]: Entering directory '/root/build-deb'
        ver="$(engine/bundles/dynbinary-daemon/dockerd --version)"; \
            test "$ver" = "Docker version 0.0.0-20210531142756-1c174ced, build 7c6a9484" && echo "PASS: daemon version OK" || echo "FAIL: daemon version ($ver) did not match"
        PASS: daemon version OK
        ver="$(cli/build/docker --version)"; \
            test "$ver" = "Docker version 0.0.0-20210531142756-1c174ced, build 1c174ced" && echo "PASS: cli version OK" || echo "FAIL: cli version ($ver) did not match"
        PASS: cli version OK
        # FIXME: --version currently doesn't work as it makes a connection to the daemon, so using the plugin metadata instead
        ver="$(/usr/libexec/docker/cli-plugins/docker-scan docker-cli-plugin-metadata | awk '{ gsub(/[",:]/,"")}; $1 == "Version" { print $2 }')"; \
            test "$ver" = "v0.8.0" && echo "PASS: docker-scan version OK" || echo "FAIL: docker-scan version ($ver) did not match"
        PASS: docker-scan version OK
    
    RPM:
    
        Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.SIDNvr
        + umask 022
        + cd /root/rpmbuild/BUILD
        + cd src
        ++ engine/bundles/dynbinary-daemon/dockerd --version
        + ver='Docker version 0.0.0-20210531142756-1c174ced, build 7c6a9484'
        + test 'Docker version 0.0.0-20210531142756-1c174ced, build 7c6a9484' = 'Docker version 0.0.0-20210531142756-1c174ced, build 7c6a9484'
        + echo 'PASS: daemon version OK'
        + exit 0
        PASS: daemon version OK
        ...
    
        Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.jKzBxw
        + umask 022
        + cd /root/rpmbuild/BUILD
        + cd src
        ++ cli/build/docker --version
        PASS: cli version OK
        + ver='Docker version 0.0.0-20210531142756-1c174ced, build 1c174ced'
        + test 'Docker version 0.0.0-20210531142756-1c174ced, build 1c174ced' = 'Docker version 0.0.0-20210531142756-1c174ced, build 1c174ced'
        + echo 'PASS: cli version OK'
        + exit 0
        ...
        Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.5KN9vp
        + umask 022
        + cd /root/rpmbuild/BUILD
        + cd src
        ++ /root/rpmbuild/BUILDROOT/docker-scan-plugin-0.8.0-0.el8.x86_64/usr/libexec/docker/cli-plugins/docker-scan docker-cli-plugin-metadata
        ++ awk '{ gsub(/[",:]/,"")}; $1 == "Version" { print $2 }'
        PASS: docker-scan version OK
        + ver=v0.8.0
        + test v0.8.0 = v0.8.0
        + echo 'PASS: docker-scan version OK'
        + exit 0
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit 928a8f2)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Mar 7, 2022
    Copy the full SHA
    a3c829b View commit details
    Browse the repository at this point in the history
  2. Fix binary version checks masking failure exit code

    Commit 928a8f2 added a check for binary
    version set through build-time variables, but I messed up, and forgot to
    add a non-zero exit code. As a result the exit code was the exit code of
    the "echo", which would always be successful.
    
    This also revealed a missing check for "target architecture": the scan
    cli plugin is only built on x86, so the version check should not be
    performed on other architectures.
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit 5d9ad8c)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Mar 7, 2022
    Copy the full SHA
    fd7b7ae View commit details
    Browse the repository at this point in the history