From 93e1744d6379a610b6581374d3daeb57236197ba Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 5 Feb 2025 12:05:46 -0500 Subject: [PATCH 1/2] Wire up verbose --- check.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/check.sh b/check.sh index bca9027..1ec2c3a 100755 --- a/check.sh +++ b/check.sh @@ -1,4 +1,7 @@ #!/bin/sh -e +if [ -n "$VERBOSE" ]; then + set -x +fi dhall_json="$(eval echo "$DHALL_JSON_BINARY")" dhall_haskell="$(eval echo "$DHALL_HASKELL_BINARY")" From 6f4c9b90d89977eb4ad8ae43f1c6635aec41d5b9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 5 Feb 2025 12:14:56 -0500 Subject: [PATCH 2/2] Add dhall-cache-url to support using a dhall cache --- .github/actions/spelling/expect.txt | 2 ++ action.yml | 4 ++++ check.sh | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 49f32ec..7eeb8a3 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -3,4 +3,6 @@ endgroup jsoref Linting mktemp +tarball workflows +XDG diff --git a/action.yml b/action.yml index d7397ef..68b4fee 100644 --- a/action.yml +++ b/action.yml @@ -26,6 +26,9 @@ inputs: dhall-file-list: description: 'Null delimited file of dhall files to check' required: false + dhall-cache-url: + description: 'Dhall cache tarball' + required: false parallel-jobs: description: 'Number of CPUs available for running checks' required: false @@ -47,6 +50,7 @@ runs: steps: - shell: bash env: + DHALL_CACHE_URL: ${{ inputs.dhall-cache-url }} DHALL_HASKELL: ${{ inputs.dhall-haskell }} DHALL_HASKELL_BINARY: ${{ inputs.dhall-haskell-binary }} DHALL_JSON: ${{ inputs.dhall-json }} diff --git a/check.sh b/check.sh index 1ec2c3a..c14870a 100755 --- a/check.sh +++ b/check.sh @@ -20,6 +20,30 @@ PATH="$dhall_haskell_extracted/bin:$PATH" echo "::add-matcher::$GITHUB_ACTION_PATH/dhall-checker.json" +if [ -z "$XDG_CACHE_HOME" ]; then + export XDG_CACHE_HOME=/tmp/dhall-cache + mkdir -p "$XDG_CACHE_HOME" + echo "XDG_CACHE_HOME=$XDG_CACHE_HOME" >> "$GITHUB_ENV" +fi + +if [ -n "$DHALL_CACHE_URL" ]; then + dhall_cache=$(mktemp) + curl -sSL "$DHALL_CACHE_URL" -o "$dhall_cache" + ( + cd "$XDG_CACHE_HOME" + tar xf "$dhall_cache" + root_items="$( + tar tf "$dhall_cache" | + perl -pe 's!/.*!!' | + uniq + )" + if [ $(echo "$root_items" | wc -l) = 1 ] ; then + mv "$root_items"/* . + rmdir "$root_items" + fi + ) +fi + export DHALL_FAILURES=$(mktemp -d) if [ -z "$LIST" ]; then export LIST=$(mktemp)