fastpass
Ensure CI doesn't run more than it needs to by "fast-passing" your commands.
Installation
Homebrew
brew install jwaldrip/on-tap/fastpass
Linux
curl -fsSL https://raw.githubusercontent.com/jwaldrip/fastpass/master/install-nix.sh
Usage
Fastpass comes in two parts, a reporting server and a script runner. You will
need to run your server and then configure your script runner locally by creating
a fastpass.yml
file.
Here is the spec:
# The server we will be reporting to (defaults to https://fastpass.rocks)
server: "http://fastpass.jasonwaldrip.com"
# Environment vars to include in the sha (optional)
check_environment:
- FOO
# Files to include in the sha (optional)
check_files:
- "./**/*"
# Files to ignore in the sha (optional)
ignore_files:
- "./ignored-file"
# A list of scripts to be run with `fastpass run` (required)
scripts:
# A shorthand script, by the name of run and running the command `crystal run ./main.cr`
run: crystal run ./main.cr
# A longhand script, by the name of spec, running the command `crystal spec`, and specifying additional environment vars and files.
spec:
command: crystal spec
check_environment:
- BAR
check_files:
- "./spec/**/*"
ignore_files:
- "./other-ignored-file"
Running the Server
$ fastpass server
Running a script
$ fastpass run [script]
Contributing
- Fork it (https://github.com/jwaldrip/fastpass/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- jwaldrip Jason Waldrip - creator, maintainer