Add the following code to your project's shard.yml under:
to use in production
- OR -
development_dependencies to use in development
A Crystal library for creating and running tasks
brew tap luckyframework/lucky
brew install lucky
git clone https://github.com/luckyframework/lucky_cli
crystal build src/lucky.cr -o /usr/local/bin/lucky(instead of
/usr/local/bin/destination you can choose any other directory that in
which lucky from the command line to make sure it is installed.
If you're generating a Lucky web project, install the required dependencies. Then run
Add this to your application's
dependencies: lucky_cli: github: luckyframework/lucky_cli
Create a file
tasks.cr at the root of your project
require "lucky_cli" # Using `lucky` from the command line will do nothing if you forget this LuckyCli::Runner.run
class App::SendDailyNotifications < LuckyCli::Task # What this task does summary "Send notifications to users" # Name is inferred from class name ("app.send_daily_notifications") # It can be overriden if desired: # # name "app.send_daily_notifications" def call # Code that sends notifications to all your users puts "Sent daily notifications!" end end # LuckyCli::Runner.run is below this
This will create a task that can be run with
The name is inferred from the name of the class unless explicitly set with
You can see all available tasks by running
Testing deployment to Heroku is skipped locally by default. The easiest way to run the deployment tests is to push up a branch and open a PR. This will run tests against Heroku to make sure deployment is working as expected.
If you want though, you can also test deployment locally:
heroku authorizations:create --description="Lucky CLI Integration Tests".
script/setupto make sure all dependencies are installed.
script/testto test everything, or run