diff --git a/.githook/pre-push b/.githook/pre-push new file mode 100644 index 0000000..f003fa0 --- /dev/null +++ b/.githook/pre-push @@ -0,0 +1,37 @@ +#!/bin/sh +# pre-push hook script + +# Ensure golangci-lint is installed +if ! command -v golangci-lint >/dev/null 2>&1; then + echo "golangci-lint is not installed. Please install it with 'go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.58.0'" + exit 1 +fi + +# Ensure markdownlint is installed +if ! command -v markdownlint >/dev/null 2>&1; then + echo "markdownlint-cli is not installed. Please install it with 'npm install -g markdownlint-cli'" + exit 1 +fi + +# Run golangci-lint +golangci-lint run + +# Capture the exit status of golangci-lint +RESULT=$? +if [ $RESULT -ne 0 ]; then + echo "golangci-lint checks failed. Aborting push." + exit 1 +fi + +# Run markdownlint +markdownlint . --config .markdownlint.yaml + +# Capture the exit status of markdownlint +RESULT=$? +if [ $RESULT -ne 0 ]; then + echo "markdownlint checks failed. Aborting push." + exit 1 +fi + +# If all tests pass, allow the push to proceed +exit 0 diff --git a/README.md b/README.md index 91b865d..61b8daf 100644 --- a/README.md +++ b/README.md @@ -287,3 +287,15 @@ Start the rollapp: ```shell rollapp-wasm start ``` + +## Developer + +For support, join our [Discord](http://discord.gg/dymension) community and find us in the Developer section. + +### Setup push hooks + +To setup push hooks, run the following command: + +```sh +./scripts/setup_push_hooks.sh +``` \ No newline at end of file diff --git a/scripts/setup-git-hooks.sh b/scripts/setup-git-hooks.sh new file mode 100644 index 0000000..185f0fb --- /dev/null +++ b/scripts/setup-git-hooks.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# Copy pre-push hook to .git/hooks/ +cp ./.githooks/pre-push ./.git/hooks/pre-push + +# Make the pre-push hook executable +chmod +x .git/hooks/pre-push + +echo "Git push hooks installed successfully."