* Refactored 'configure' and 'make' ices
* New 'build' ice sets 'configure' and 'make ices if no flags are needed.
* New 'cmake' ice will build/install using 'cmake'
* Delete command now handles programs using 'make' and 'cmake' ices
* Setting `$ZINIT[DEBUG]` enables debug logging (i.e., `+zi-log "{dbg} message ..."`)
- darwin gh-r pattern now includes the `.dmg` extension
- `gh-r` tests for bit, gron, pulumi, atmos, keepassxc, alacrity, assh,
and dog
- clean up duplicate code with formatting and moving duplicate logic to
the default ice, if possible
See #243#245#247
Signed-off-by: Vladislav Doster <mvdoster@gmail.com>():
Changes:
- Reduce zunit verbosity with `--tap` flag
- `gh-r` tests now use `lbin` instead of `sbin`. `lbin` has smarter
logic when looking for executables to use in creating a shim
- Add gh-r tests for `rust-analyzer`, `docker-compose`, `neovim` binary &
appimage, and `kopia`
- Condense gh-r test logic to halve LOC (i.e., 1000+ -> ~500)
- Update gh-r logic to discard 32 bit binaries, improve 64 bit
selection, and linux-{gnu,musl} patterns
Closes#225, #246, #247
Signed-off-by: Vladislav Doster <mvdoster@gmail.com>
- Ability to run unit tests without Docker
- Define a Z-unit \_support/bootstrap script defining the isolated test
environment in a temp dir via `mktemp -d`, to ensure a clean test
environment.
- GH actions workflow now tests macOS & Windows and bumps Ubuntu to the
latest.
- GH actions workflow leverages Homebrew to simplify installing zsh &
zunit
- Condense Z-unit GH workflow into more organized build matrix. It
avoids creating a new environment per test file as some test files
only have one or two tests.
- Change or remove logic in the `setup` and `teardown` functions to
commands which apply to type of tests being run (e.g., `gh-r` setup
sets defualt ice `gh-r` and `nocompile`).
- Expand tests for testing `gh-r` on Linux & macOS for ensuring correct
release selection.
- Correct GH workflow `on` conditions to avoid duplicating jobs.
- Update `gh-r` ice logic to be smarter about selecting a release for
the current system.
- Expand linting to include the tools `shfmt`, `shellcheck`, and
`mdformat`
- Rudimentary testing for all Zinit annexes (e.g., install with no
errors)
| Test | Before | Now |
| :------: | :----: | :-: |
| annexes | 3 | 10 |
| gh-r | 3 | 95 |
| plugins | 2 | 3 |
| snippets | 4 | 4 |
<img width="841" alt="Screen Shot 2022-04-23 at 21 57 08" src="https://user-images.githubusercontent.com/10052309/164954220-123a8dc5-0399-41e3-b9cf-98b2cf599145.png">
Signed-off-by: Vladislav Doster <mvdoster@gmail.com>