In previous versions of shellcheck, SC2317 was emitted for every line of
a unused function and we're ignoring the SC2317 completely:
6e61729e66/Makefile (L6)
We were ignoring this error due to `version_compare` being reported as a
false positive.
After
4f81dbe839
this was fixed and now it produces one `SC2329` for the whole function
instead of multiple SC2137.
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This check gives a lot of false positives; ignoring it;
```
In build/install.sh line 106:
set +x
^----^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 108:
yy_a="$(echo "$1" | cut -d'.' -f1)"
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^-----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 109:
yy_b="$(echo "$2" | cut -d'.' -f1)"
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^-----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 110:
if [ "$yy_a" -lt "$yy_b" ]; then
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^---------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 111:
return 1
^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 113:
if [ "$yy_a" -gt "$yy_b" ]; then
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^---------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 114:
return 0
^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 116:
mm_a="$(echo "$1" | cut -d'.' -f2)"
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^-----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 117:
mm_b="$(echo "$2" | cut -d'.' -f2)"
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^-----------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 118:
if [ "${mm_a#0}" -lt "${mm_b#0}" ]; then
^-- SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
^-----------------------------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 119:
return 1
^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 122:
return 0
^------^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
In build/install.sh line 659:
exit 1
^----^ SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).
For more information:
https://www.shellcheck.net/wiki/SC2317 -- Command appears to be unreachable...
make: *** [Makefile:20: shellcheck] Error 1
```
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
the envsubst wasn't working correctly on ubuntu due to the `$` getting
stripped by make during the `addprefix`
Should now work correctly no matter what distribution you're on
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Simplifies CI to run through a simple `make test` target that has an
underlying `TEST_IMAGE` variable which determines the distribution to
run on.
Also changes the Jenkinsfile to be declarative since the old one kind of
sucked.
Also adds a test for version pinning since that's something we rely on a
lot.
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
VERSION pinning is something that people have been asking for, for a
while so this attempts to add that in.
Should work in most scenarios aside from incomplete VERSIONS.
IE: If you have the `test` channel enabled and try to install `17.12`
for example, the script will instead try to install rc2 since that is
the latest VERSION in the results.
Should also work with nightly builds like pinning to a date, or a
specific git SHA
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Adds temporary support for Ubuntu Artful while we wait to get packages
up, after we do get packages up we should delete the lines denoted
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Basically uses the jessie repo for raspbian stretch due to raspbian
jessie download links being taken off the official raspbian site.
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Ran into an issue with the jenkins build with archiving artifacts. Chose
to remedy this by naming all of the potential artifacts with the same
pattern
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Major Notes:
* Removes old raspbian cruft now that raspbian has a repo on
download.docker.com
* Adds a support matrix so that we can have an easier time updating
what architectures/distros we support
* Added support for s390x and aarch64
* Had to change add-apt-repository to an echo into a file, was not
functioning correctly on raspbian see moby/moby#31405
* Update testing pipeline for multiarch
* Removed deprecation warnings for raspbian
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
The install script won't be updated every single time a release is done
so it does not make sense to tie the verification jobs to specific
versions / git commits.
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
.log files didn't work correctly when evaluating possible docker images
to run so I removed the suffix portion. Also made it easier to run for
specific distros ala:
`make DISTROS="fedora-25 fedora-24 centos-7" CHANNEL_TO_TEST=edge EXPECTED_VERSION="17.06.0-ce" EXPECTED_GITCOMMIT="02c1d87" clean check`
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
By executing `bash verify-docker-install`, the `bash -e` at the top of
the script is not honored. Should just execute the script straight-up
to use whatever `set` options are desired in the script.
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>