| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This commit really ups the level and quality of the Rust code by setting
clippy to pedantic mode. It also fixes an issue where bash continued to
run scripts even if something failed with a non-zero exit status. We
also deny all warnings so as to actually fail the builds and the commit
hooks. This should make sure code quality stays at a high level.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a necessary upgrade to deal with the fact that incremental ids
do not work in distributed systems. For instance say we have two
branches from the same commit on master and they both add a new ticket.
Both will have the same incremental ID despite being completely separate
tickets. In this case we want to use UUIDs, specifically version 1 as
defined in IETF RFC 4122. This version of UUID uses a timestamp to
generate it and as a result the UUID it generates is *sortable*. This
means that the UUIDs can be created whenever on any branch, be unique,
and will be sortable by time. No matter when or where our tickets can be
sorted correctly by this UUID in a deterministic order.
Since we are also upgrading the code we've set up migration upgrade code
to handle this in case we need to do this again in the future. We also
add a few more fields and make some breaking changes since we already
are for the UUIDs.
Resources:
- https://tools.ietf.org/html/rfc4122
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds a commit to handle git commit linting to enforce style by not
allowing less than 10 or more than 50 chars for titles and less than or
equal to 72 chars for the body. Chars are measured in number of
graphemes as 50 chars represented in the terminal is what we want to use
not 50 bytes. This will eventually be an installable hook for end users
if they want it.
|
|
|
|
|
|
|
|
|
| |
This enables a pre-commit script and adding more pedantic checks to the
commit. This means from now on all commits will be in a working state in
the history and this enables us to build directly on master without
worrying about it breaking the build. Where we're going we won't need
feature branches anymore. This also fixes formatting issues that existed
but the GitHub actions would not be able to catch at all.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the hooked binary to the dev-suite repo as well as a stub for
a program to be used in this workflow! Hooked works by adding the hooks
into the repo and setting them to executable and linking them into the
hooks directory under .git. This means hooks get to travel with the
repo and are source controlled. All a dev needs to do is run the init
command and hooked will symlink them all for them. No need to remember
how ln works. It's all handled for you. Future work will iterate about
what hooks that dev-suite supplies as part of the script. This will
involve configuration files and per repo settings are something that
will need to be thought about.
Closes Issue #2
|
|
|
|
|
|
|
|
|
|
| |
This cleans up the init function using the modified find_root function
for ticket and moves it into a new shared crate so that other tools that
might be built can use it. This means we can easily find the root of
a git repo no matter where in the repo one is and build paths relative
to it.
Closes #3
|
| |
|
|
|