-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathjustfile
More file actions
70 lines (54 loc) · 1.53 KB
/
justfile
File metadata and controls
70 lines (54 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Builds the project
build:
gem build easypost.gemspec --strict
mkdir -p dist
mv *.gem dist/
# Cleans the project
clean:
rm -rf coverage doc *.gem dist
# Generate a test coverage report
coverage:
just test
# Generate documentation for the library
docs:
bundle exec rdoc lib -o docs --title "EasyPost Ruby Docs"
# Import the style guides (Unix only)
install-styleguide: init-examples-submodule
sh examples/symlink_directory_files.sh examples/style_guides/ruby .
# Initialize the examples submodule
init-examples-submodule:
git submodule init
git submodule update
# Install globally from source
install: init-examples-submodule
bundle install
# Lint the project
lint: rubocop scan
# Fix Rubocop errors
lint-fix: rubocop-fix
# Publishes the built gem to Rubygems
publish:
gem push dist/*.gem
# Cuts a release for the project on GitHub (requires GitHub CLI)
# tag = The associated tag title of the release
# target = Target branch or full commit SHA
release tag target:
gh release create {{tag}} dist/* --target {{target}}
# Lints the project with rubocop
rubocop:
bundle exec rubocop
# Fix rubocop errors
rubocop-fix:
bundle exec rubocop -a
# Runs security analysis on the project with Brakeman
scan:
bundle exec brakeman lib --force
# Test the project (and ignore warnings for test output)
test:
bundle exec rspec
# Updates dependencies
update: update-examples-submodule
# Update the examples submodule
update-examples-submodule:
git submodule init
git submodule update --remote