Releases: rogeruiz/tick
Release v1.0.0
Release v1.0.0
This release for Tick includes embedded migrations and a configuration file workflow for setting the database. There is no longer a need to set a DATABASE_URL
environment file to use Tick. Tick will read from a config.yaml
file located at ~/.config/tick/
. For now, this configuration file is not configurable. Before starting Tick for the first time, create a ~/.config/tick
directory and place a config.yaml
file with a key of database_path
set to where the SQLite database will be stored.
Setting up the configuration file and database directory
# Setup your Tock configuration file
>_ mkdir -p ~/.config/tick
>_ echo "database_path: ${_}/main.db" > "${_}/config.yaml"
Build the project from source for your platform.
# Clone the repository.
>_ git clone https://github.com/rogeruiz/tick.git
>_ cd tick
# Build the release.
>_ cargo build --release
# Install in your path.
>_ cp ./target/release/tick /usr/local/bin/tick
Happy time-keeping! 🕙
Initial release
Release v0.2.0
The initial release for tick. It does the basic things like: start
, stop
, status
, list
, and remove
.
Installation
To install Tick, you can either compile it from source or download the binary
from the releases page for the release you want and the
platform you need.
Compiling Tick from source
The steps are pretty straight-forward as long as you are within the realm of
Tier 1 support for the Rust compiler.
# Clone the repository.
$ git clone https://github.com/rogeruiz/tick.git
$ cd tick
# Setup the database, environment, and run any migrations.
$ cargo install diesel_cli
$ cp ./.env.example ./.env
$ diesel setup
# Build the release.
$ cargo build --release
# Install in your path.
$ cp ./target/release/tick /usr/local/bin/tick
Troubleshooting the first run of tick
Currently when you run Tick for the first time and haven't setup the database
tables for the timers nor exported the path to your database via $DATABASE_URL
in your shell, you're going to run into a Rust panic. Remember to setup your
environment with the right variable set to the path to your SQLite database and
make sure you've run the migration found in this repository. Use the
diesel_cli
cargo package to setup the database from within the cloned project.
$ cargo install diesel_cli
$ cp ./.env.example ./.env
$ diesel setup
Commands
Run tick --help
to see all the available commands you can use. Below is an
example workflow of how you would use Tick.
$ tick [ -v ] start --name my-timer [ --message "I can do the thing!" ]
$ tick [ -v ] status
$ tick [ -v ] stop --name my-timer [ --message "I did the thing!" ]
$ tick [ -v ] stop [ --message "I did the thing!" ] # without a name argument stops the latest running timer
$ tick [ -v ] list
$ tick [ -v ] remove --id $( tick list | tail -1 | awk '{ print $1 }' ) # delete the latest timer by Timer ID