From f7faf1e1f5164b180070ac07f2abef51134b02b7 Mon Sep 17 00:00:00 2001 From: Raphael Speyer Date: Tue, 26 Mar 2024 17:55:20 +1100 Subject: [PATCH] HOTFIX: fix precommit for `main` (#18863) * HOTFIX: fix precommit (#18854) * fix precommit * avoid moving package.json --------- Co-authored-by: = <=> * fix yarn-lock-check precommit --------- Co-authored-by: = <=> --- sdk/.pre-commit-config.yaml | 16 ++++++++-------- sdk/pre-commit/yarn-lock-check.sh | 6 ++++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/sdk/.pre-commit-config.yaml b/sdk/.pre-commit-config.yaml index 4e2332b90d..c48825c53d 100644 --- a/sdk/.pre-commit-config.yaml +++ b/sdk/.pre-commit-config.yaml @@ -11,14 +11,14 @@ repos: - id: hlint name: hlint language: system - entry: "hlint -j" + entry: "hlint -j --hint=sdk/.hlint.yaml" require_serial: true types: [haskell] - id: scalafmt name: scalafmt language: system require_serial: true - entry: "scalafmt --respect-project-filters" + entry: "scalafmt --config=sdk/.scalafmt.conf --respect-project-filters" types: [scala] - id: javafmt name: javafmt @@ -30,14 +30,14 @@ repos: name: buildifier language: system require_serial: true - entry: "bazel run //:buildifier-pre-commit -- -mode=fix -v=true" + entry: "bash -c 'cd sdk/; bazel run //:buildifier-pre-commit -- -mode=fix -v=true'" types: [bazel] - id: pprettier name: pprettier language: system require_serial: true # NB: we need to pass a single argument which ends up in $0 when invoking bash -c - entry: "bash -c 'yarn install --silent && yarn run pprettier --write \"$@\"' bash" + entry: "bash -c 'yarn install --silent && files=(\"$@\") && yarn run --cwd=sdk pprettier --write ${files[@]##sdk/}' bash" types_or: [ts, tsx] - id: copyrights name: copyright headers @@ -50,13 +50,13 @@ repos: name: platform-independence-check language: system pass_filenames: false - entry: "pre-commit/platform-independence-check.sh" + entry: "sdk/pre-commit/platform-independence-check.sh" - id: yarn-lock-check name: yarn-lock-check language: system - pass_filenames: false - files: ^(package.json|yarn.lock)$ - entry: "pre-commit/yarn-lock-check.sh" + pass_filenames: true + files: ^sdk/(package.json|yarn.lock)$ + entry: "sdk/pre-commit/yarn-lock-check.sh" - id: mainonly name: main only description: Check for changes under packages with targets tagged with main-only diff --git a/sdk/pre-commit/yarn-lock-check.sh b/sdk/pre-commit/yarn-lock-check.sh index e3ead96152..39aa9d7774 100755 --- a/sdk/pre-commit/yarn-lock-check.sh +++ b/sdk/pre-commit/yarn-lock-check.sh @@ -5,11 +5,13 @@ set -euo pipefail TMP_DIR=$(mktemp -d) -cp package.json yarn.lock $TMP_DIR +trap 'rm -rf -- "$TMP_DIR"' EXIT + +cp sdk/package.json sdk/yarn.lock $TMP_DIR (cd $TMP_DIR; yarn install --silent > /dev/null) -if ! diff yarn.lock $TMP_DIR/yarn.lock; then +if ! diff -u sdk/yarn.lock $TMP_DIR/yarn.lock; then echo "FAIL: yarn.lock could not satisfy package.json" 1>&2 echo "FAIL: yarn.lock requires all of the above changes" 1>&2 exit 1