From 581e24ff8d4ec108579fc6359e5cec9a049796cf Mon Sep 17 00:00:00 2001 From: Rembrandt Kuipers Date: Thu, 15 May 2025 11:01:43 +0000 Subject: [PATCH 1/2] fix: pre-commit lint on only staged, and add yarn test:coverage:file --- packages/contracts/package.json | 10 ++++---- packages/contracts/scripts/test-coverage-file | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100755 packages/contracts/scripts/test-coverage-file diff --git a/packages/contracts/package.json b/packages/contracts/package.json index af7b27781..ec445b9dd 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -90,6 +90,7 @@ "test:e2e": "scripts/e2e", "test:gas": "RUN_EVM=true REPORT_GAS=true scripts/test", "test:coverage": "scripts/coverage", + "test:coverage:file": "scripts/test-coverage-file", "test:upgrade": "scripts/upgrade", "lint": "yarn lint:ts && yarn lint:sol", "lint:ts": "eslint '**/*.{js,ts}' --fix", @@ -103,16 +104,17 @@ }, "lint-staged": { "contracts/**/*.sol": [ - "yarn lint:sol" + "prettier --write", + "solhint --fix --noPrompt --config node_modules/solhint-graph-config/index.js" ], "**/*.ts": [ - "yarn lint:ts" + "eslint --fix" ], "**/*.js": [ - "yarn lint:ts" + "eslint --fix" ], "**/*.json": [ - "yarn lint:ts" + "eslint --fix" ] }, "repository": { diff --git a/packages/contracts/scripts/test-coverage-file b/packages/contracts/scripts/test-coverage-file new file mode 100755 index 000000000..901cf54fd --- /dev/null +++ b/packages/contracts/scripts/test-coverage-file @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -eo pipefail + +# Check if a test file was provided +if [ $# -eq 0 ]; then + echo "Error: You must provide a test file path" + echo "Usage: ./scripts/test-coverage-file test/unit/rewards/rewards.test.ts" + exit 1 +fi + +# Build contracts first to ensure tests run against latest code +echo "Building contracts before running coverage..." +yarn build + +echo {} > addresses-local.json + +echo "Running coverage for test file: $1" +DISABLE_SECURE_ACCOUNTS=true \ +L1_GRAPH_CONFIG=config/graph.hardhat.yml \ +L2_GRAPH_CONFIG=config/graph.arbitrum-hardhat.yml \ +ADDRESS_BOOK=addresses-local.json \ + npx hardhat coverage --testfiles "$1" From ecb5c493a248945df45f3cb6892c03eeebb6f3c9 Mon Sep 17 00:00:00 2001 From: Rembrandt Kuipers <50174308+RembrandtK@users.noreply.github.com> Date: Thu, 15 May 2025 12:40:23 +0100 Subject: [PATCH 2/2] Update packages/contracts/scripts/test-coverage-file Avoid potential issues with shell globbing as per CoPilot suggestion. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- packages/contracts/scripts/test-coverage-file | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contracts/scripts/test-coverage-file b/packages/contracts/scripts/test-coverage-file index 901cf54fd..dc1fe72c3 100755 --- a/packages/contracts/scripts/test-coverage-file +++ b/packages/contracts/scripts/test-coverage-file @@ -13,7 +13,7 @@ fi echo "Building contracts before running coverage..." yarn build -echo {} > addresses-local.json +echo "{}" > addresses-local.json echo "Running coverage for test file: $1" DISABLE_SECURE_ACCOUNTS=true \