Skip to content

Commit

Permalink
adding init.sh to easy development startup; adding pre-commit hook
Browse files Browse the repository at this point in the history
  • Loading branch information
niquerio committed Aug 21, 2023
1 parent ca7389e commit 5f0d7ea
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 25 deletions.
25 changes: 25 additions & 0 deletions .github/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".
#!/bin/sh

set -e
rubyfiles=$(git diff --cached --name-only --diff-filter=ACM "*.rb" "Gemfile" | tr '\n' ' ')
[ -z "$rubyfiles" ] && exit 0

# Standardize all ruby files
echo "🧹 Formatting staged Ruby files using standardrb ($(echo $rubyfiles | wc -w | awk '{print $1}') total)"
echo "$rubyfiles" | xargs docker-compose run --rm web bundle exec standardrb --fix

# Add back the modified/prettified files to staging
echo "$rubyfiles" | xargs git add

echo "πŸ“‹ Running tests with rspec"
docker-compose run --rm web bundle exec rspec --format progress

exit 0
27 changes: 2 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,13 @@ git clone git@github.com:mlibrary/account.git
cd account
```

copy .env-example to .env

run the `init.sh` script.
```bash
cp .env-example .env
./init.sh
```

edit .env with the appropriate environment variables

build the containers

```bash
docker-compose build
```

bundle install
```bash
docker-compose run --rm web bundle install
```

npm install
```bash
docker-compose run --rm web npm install
```

build styles and scripts

```bash
docker-compose run --rm web npm run build
```

start containers

```bash
Expand Down
28 changes: 28 additions & 0 deletions init.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

#must be run from the project root directory
if [ -f ".env" ]; then
echo "🌎 .env exists. Leaving alone"
else
echo "🌎 .env does not exist. Copying env.example to .env"
cp env.example .env
fi

if [ -f ".git/hooks/pre-commit" ]; then
echo "πŸͺ .git/hooks/pre-commit exists. Leaving alone"
else
echo " πŸͺ .git/hooks/pre-commit does not exist. Copying .github/pre-commit to .git/hooks/"
cp .github/pre-commit .git/hooks/pre-commit
fi

echo "🚒 Build docker images"
docker-compose build

echo "πŸ“¦ Installing Gems"
docker-compose run --rm web bundle

echo "πŸ“¦ Installing Node modules"
docker-compose run --rm web npm install

echo "πŸ“¦ Building js and css"
docker-compose run --rm web npm run build

0 comments on commit 5f0d7ea

Please sign in to comment.