Age | Commit message (Collapse) | Author |
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Split gfold into gfold and libgfold to increase the number of
compilation units and allow for external use of the library. Keep
libgfold unpublished until logging, error types, etc. is handled
properly.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Primary:
- Restore cargo xtask to the repository
- Polish "size" and "loose-bench" tasks and integrate them with cargo
xtask
- Update documentation to reflect new xtask changes
- Move ci to use cargo xtask
Secondary:
- Remove unneeded run from gfold test
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Primary:
- Switch to cargo workspace to replace xtask, make, etc.
- Add debug symbol stripping
Misc:
- Upgrade all packages
- Replace entries iterator with "next" due to the following PR:
https://github.com/rust-lang/git2-rs/pull/854
- Remove "rustfmt.toml"
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Functional:
- Update "Cargo.toml" version to 4.0.1
- Bump all packages
- Add warnings check to "cargo doc" in CI
- Remove bash scripts (install and uninstall) and move their logic to
markdown docs
Docs:
- Move download and install from source instructions to their own file
- Add "cargo doc" warnings check to dev docs
- Rename scripts to performance testing scripts where mentioned
- Add "quiet" flag to "cargo run" for scripts
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Loose bench:
- Bolster loose bench to calculate more runs with averages
- Alternate order at the halfway mark of total runs for loose bench
- Display run averages and global duration for loose bench
- Add TODO for loose bench to track average deviation (i.e. how
consistently does gfold perform across runs?)
- Add module comment for loose bench explaining its purpose
Misc:
- Add TargetOption enum for processing target entries
- Name reports and target varaibles with more specificity
- Add fix commands to DEVELOPING
- Misc updates to Cargo.lock
- Update to 4.0.0-rc.3
Result:
- Only use "anyhow::Result" when there is more than one error type
Bug fix:
- Add current dir to scripts to ensure gfold is being built
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Fix error when remote is not "origin" and fallback to alternate remotes if
"origin" is not found
- Add failure scenario to core integration test
- Fix error where "gfold.toml" not existing would result in execution
failure
- Add config file lookup behavior to README
- Remove debug flag in favor of RUST_LOG
- This also results in the logging module being removed since setting
the logging should be configured via RUST_LOG
- Add RUST_LOG and RUST_BACKTRACE to README and CLI help troubleshooting
sections
- Update display flags in README to use `-d`
- Update flag description for color to use "never" instead of "off" as
one of its options
- Add sequencing debug logs (e.g. "foo has completed")
- Switch back to anyhow for its backtrace feature
- Update to 4.0.0-rc.2
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
TLDR: remove barriers to multi-platform development, like Bash and Make.
Moreover, remove the nightly fmt dependency and improve testing to catch
potential corner cases on multiple platforms.
Core:
- Rename "Reports" to "LabeledReports" since "Reports" is not of implied
type Vec<Report>
Testing:
- Add second half to the integration test: comparing found reports with
expected reports
- Essentially, we run the core gfold loop _again_, but only generate
reports and skip displaying them to stdout
CI:
- Removed nightly fmt check and job
- Moved fmt check to stable
- Update bors toml to match changes
Scripts:
- Convert scripts from Bash scripts to independent crates
(multi-platform friendly)
- Add README to scripts directory
- Ensure script crates do not have their Cargo lockfile tracked in Git
Docs:
- Adding DEVELOPING file to replace Makefile
- Move THANKS and RELEASE files to new docs directory, along with
DEVELOPING
- Replace make commands in README and RELEASE files
Misc:
- Remove Rust nightly dependency since it was solely for imports
granulaity for rustfmt
- This repository is once again only reliant on stable Rust
toolchains
- Remove "rust-version" from Cargo toml since it was unused
- Remove Makefile entirely in favor of DEVELOPING file (multi-platform
friendly)
- Update markdown code block languages as "shell" instead of "bash" to
be multi-platform friendly
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
This reverts commit 3cf1a18d5273c1ba84fb7f7aac276b19a06fcbd2.
|
|
This reverts commit 7ea0a538cbc2924de7c0baf12222767a3e1ace48.
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update to 4.0.0-rc.1
- Add nvim-gfold.lua link and new community section
- Add nvim-gfold.lua to THANKS.md as well
- Add link to THANKS.md in community section
- Re-order AUR and Arch in THANKS.md
- Change RELEASE.md with new make targets in mind
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
General changes:
- Add JSON output flag for version and results
- Add color mode with the following options: "always", "compatibility",
and "never"
- Merge CLI functions into "parse_and_run()"
- Major module changes: "cli", "display", and "report" modules now
contain their children, which are "logging", "color", and "target"
respectively
- Add result type and remove "anyhow" dependency to reduce binary size
and simplify errors (rely more on "thiserror").
- Ensure "Status" has bi-directional serialization for JSON output.
- Re-write tests to create and use actual files, directories, and newly
initialized repositories in the "target" directory
- Ensure CHANGELOG for the upcoming release is closer to the original
"Keep a Changelog" format"
Bug fixes:
- Fix a bug where HEAD was not being detected using
"git2::Repository::head()" in a newly initialized repository
- Fix a bug where encountering a "NotFound" error with a repository's
remote "origin" would cause a panic
CI changes:
- Rename CI workflows to be more explicit
- Remove "rust-cache" from nightly workflow and add comment for its
reasoning
Makefile changes:
- Refactor README to only remove unused targets
- Add nextest target
- Add size target
Bench script changes:
- Require grealpath on macOS
- Suppress command output and only display times
Additional comment: I am probably missing some stuff here. I was on a
flight and did not have internet. My brain went nuts and... well, here
we are.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Change config file lookup path from "<prefix>/gfold/gfold.json" to
"<prefix>/gfold.toml"
- Change config file type from JSON to TOML
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Use git2-rs over git subcommands for speed gains
- Use Option types over "none" or "-" strings for results
- Ensure the display module handles how to display results
- Display status enum as string rather than carrying it as a field
- Remove git path from CLI and config file due to switch to git2-rs
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
* Add msrv for local development
- Add msrv for local development in "rust-version" field
- Add name and years details to LICENSE
- Add nixpkgs install option
- Update misc packages
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Remove PR and issue templates
Remove PR and issue templates due to their lack of use. If gfold grows
significantly in users, they will be added back.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Remove old version disclaimer in README
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update to the first v3 RC
- Publish v3 docs with a disclaimer at the top
- Fix issue where gfold would not continue execution with an empty
config file
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Refactor config to ensure entry config is wrapped by private functions
and methods
- Ensure tests skip config file with new functionality, which relies on
entry config using defaults
- Update issue and PR templates to be more clear in what they ask from
users (cleaner checklists)
- Switch RELEASE to use a list instead an emoji-based markdown table
- Push RELEASE commands into their own code blocks
- Add new emoji-based "logging" headers to uninstall/install scripts
- Refactor uninstall/install scripts to use functions for readability
- Add ignore config file option
- Give every major type, function, and method a comment-based
description
- Fix issue template by adding back name and about
- Use get flag for remote origin url
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Switch to argh for its smaller size, ease of use, and faster speed
- Switch back to old logging crates due to size differences
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Switch to tracing and tracing-subscriber from log and env_logger
- Add debug flag to set RUST_LOG
- Rename Mode enum to DisplayMode for clarity
- Sift through all dependencies for default features and disable as
needed (specifically, all color-based ones)
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
feature and more (#149)
* Remove sudo from scripts
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Move old gfold code to v2 dir
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Migrate to v3 with end-to-end workflow
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Add CLI options for v3
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Config progress
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Switch to clap from no CLI library
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Merge two crates back into one
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Add default init for empty config options
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Add ability to print config
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Add ability to create, update and delete config file
- Add ability to save config with CLI flags, existing file and defaults
back to file
- Create file and path if it does not exist
- Exclude main after PR merges to avoid double action execution
- Delete config file option (as well as its parent directory)
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Remove save and delete config file options
Remove save, delete and update config file options due to potential
security and permissions issues, inconsistent performance, and low
importance relative to other features.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
* Re-add tests from v2
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
|
|
|
|
|
|
Add rudimentary logging for permission denied errors. Rename merge to
push for GitHub Action due to UI bug showing old action.
|
|
|
|
|
|
|
|
This commit includes the addition of a PR template, removal of xtask,
re-write of the codebase around parallelism, the removal of all non-help
and non-version falgs, and more covered in the CHANGELOG and
corresponding GitHub issues in linked in the PR containing this commit.
|
|
Convert library-driven structure to application-driven. Remove library.
Remove EXTRA and DEVELOPING files. Move remaining docs to root. Create
types file in favor of types within modules. Add tag workflow for
prereleases and releases without artifacts. Remove Config struct for
Driver.
|
|
|
|
|
|
|
|
|
|
|
|
|