Add shellcheck checks to CI

This commit is contained in:
Luc Perkins 2024-03-06 18:10:54 -03:00
parent 455b918565
commit 2c553b21e6
No known key found for this signature in database
GPG key ID: 16DB1108FB591835
3 changed files with 14 additions and 11 deletions

View file

@ -5,26 +5,26 @@ set -ux
seed=$(date)
log=$MAGIC_NIX_CACHE_DAEMONDIR/daemon.log
log="${MAGIC_NIX_CACHE_DAEMONDIR}/daemon.log"
binary_cache=https://cache.flakehub.com
# Check that the action initialized correctly.
grep 'FlakeHub cache is enabled' $log
grep 'Using cache' $log
grep 'GitHub Action cache is enabled' $log
grep 'FlakeHub cache is enabled' "${log}"
grep 'Using cache' "${log}"
grep 'GitHub Action cache is enabled' "${log}"
# Build something.
outpath=$(nix-build .github/workflows/cache-tester.nix --argstr seed "$seed")
# Check that the path was enqueued to be pushed to the cache.
grep "Enqueueing.*$outpath" $log
grep "Enqueueing.*${outpath}" "${log}"
# Wait until it has been pushed succesfully.
found=
for ((i = 0; i < 60; i++)); do
sleep 1
if grep "$(basename $outpath)" $log; then
if grep "$(basename "${outpath}")" "${log}"; then
found=1
break
fi
@ -35,13 +35,13 @@ if [[ -z $found ]]; then
fi
# Check the FlakeHub binary cache to see if the path is really there.
nix path-info --store "$binary_cache" $outpath
nix path-info --store "${binary_cache}" "${outpath}"
# FIXME: remove this once the daemon also uploads to GHA automatically.
nix copy --to 'http://127.0.0.1:37515' "$outpath"
nix copy --to 'http://127.0.0.1:37515' "${outpath}"
rm ./result
nix store delete "$outpath"
nix store delete "${outpath}"
if [ -f "$outpath" ]; then
echo "$outpath still exists? can't test"
exit 1

View file

@ -16,9 +16,12 @@ jobs:
- name: Record existing bundle hash
run: |
echo "BUNDLE_HASH=$(sha256sum <dist/index.js | sed 's/ -//')" >>$GITHUB_ENV
- name: Check shell scripts
run: |
nix develop --command shellcheck ./.github/workflows/cache-test.sh
- name: Build action
run: |
nix develop --command -- just build
nix develop --command just build
- name: Check bundle consistency
run: |
NEW_BUNDLE_HASH=$(sha256sum <dist/index.js | sed 's/ -//')

View file

@ -19,10 +19,10 @@
default = pkgs.mkShell {
packages = with pkgs; [
bun
nodejs
jq
act
just
shellcheck
];
};
});