mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
Add a check for all URLs in the package file (#7848)
Avoid issues like #7847 by downloading and checking SHA for each file in the package.json bundle.
This commit is contained in:
parent
600c5d7c0b
commit
39d14530ff
1
.github/workflows/pull-request.yml
vendored
1
.github/workflows/pull-request.yml
vendored
@ -268,3 +268,4 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
bash ./tests/ci/build_boards.sh
|
bash ./tests/ci/build_boards.sh
|
||||||
bash ./tests/ci/eboot_test.sh
|
bash ./tests/ci/eboot_test.sh
|
||||||
|
bash ./tests/ci/pkgrefs_test.sh
|
||||||
|
0
tests/ci/eboot_test.sh
Normal file → Executable file
0
tests/ci/eboot_test.sh
Normal file → Executable file
24
tests/ci/pkgrefs_test.sh
Executable file
24
tests/ci/pkgrefs_test.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ev
|
||||||
|
|
||||||
|
fail=0
|
||||||
|
for i in $(cat "$TRAVIS_BUILD_DIR/package/package_esp8266com_index.template.json" | jq '.packages[0]."tools" | .[] | .systems[] | "\(.url) \(.checksum)"' | sort -u | sed 's/ /@/'); do
|
||||||
|
url=$(echo $i | sed 's/@/ /' | cut -f2 -d\" | cut -f1 -d' ')
|
||||||
|
sha=$(echo $i | sed 's/@/ /' | cut -f2 -d\" | cut -f2 -d' ' | cut -f2 -d:)
|
||||||
|
echo "INFO: Checking $url"
|
||||||
|
rm -f file.bin
|
||||||
|
wget --quiet -O file.bin $url
|
||||||
|
calc=$(sha256sum file.bin | cut -f1 -d" ")
|
||||||
|
if [ "$sha" != "$calc" ]; then
|
||||||
|
echo "ERROR: Download failed or SHA mismatch for $url"
|
||||||
|
echo "ERROR: Expected $sha"
|
||||||
|
echo "ERROR: Received $calc"
|
||||||
|
fail=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $fail -ne 0 ]; then
|
||||||
|
echo ERROR: Package file integrity check failed
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user