Skip to content

Commit

Permalink
added workflows and git hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
Ellpeck committed Mar 5, 2024
1 parent baf91e7 commit 01c7c81
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 0 deletions.
41 changes: 41 additions & 0 deletions .githooks/load-npm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/sh

find_npm_linux() {
export NPM_CMD="npm"
export NPX_CMD="npx"

if ! (type $NPM_CMD >> /dev/null); then
echo "npm not found, trying to make it available using nvm..."
if type nvm >> /dev/null; then
echo "nvm found, using it to install the latest lts node"
nvm use --lts
else
echo "nvm not found, trying to make it available using the nvm.sh"
# try to make it available based on https://github.com/typicode/husky/issues/912#issuecomment-817522060
export NVM_DIR="$HOME/.nvm/nvm.sh"
. "$(dirname $NVM_DIR)/nvm.sh"

export NVM_DIR="$HOME/.nvm"
a=$(nvm ls --no-colors | grep 'node')
v=$(echo "$a" | sed -E 's/.*\(-> ([^ ]+).*/\1/')

export PATH="$NVM_DIR/versions/node/$v/bin:$PATH"

if ! (type $NPM_CMD >> /dev/null); then
echo "no variant of npm or nvm found, trying to use the npm.cmd"
export NPM_CMD="npm.cmd"
export NPX_CMD="npx.cmd"
fi
fi
fi
}

if [ -z "${OSTYPE+x}" ]; then
find_npm_linux
else
case "$OSTYPE" in
msys*) export NPM_CMD="npm.cmd" ;
export NPX_CMD="npx.cmd" ;;
*) find_npm_linux ;;
esac
fi
6 changes: 6 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting the 'pre-push' file in the hooks directory (set by 'core.hookspath'; usually '.git/hooks').\n"; exit 2; }
git lfs pre-push "$@"

. .githooks/load-npm.sh
$NPM_CMD run lint
11 changes: 11 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: lint
on:
push:
pull_request:
types: [opened, synchronize]
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
run: npm run lint
11 changes: 11 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: test
on:
push:
pull_request:
types: [opened, synchronize]
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
run: npm run test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
.idea
out
.vscode-test
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,11 @@ TO DO

## Extension Settings
TO DO

# Developing

## Git Hooks
This repository contains some git hooks to ensure that linting and other actions happen. Register these hooks by running:
```sh
git config core.hooksPath .githooks
```

0 comments on commit 01c7c81

Please sign in to comment.