|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change refactors the implementation of how the version is embedded
in the binary to reduce the number of variables necessary to determine
the version information from 3 to 1.
The legacy build variables are still supported, however, a warning will
be emitted instructing users to contact their package maintainer. The
legacy GitExacTag variable, if present, will be used to set main.version
if it is undefined. This ensures that unmigrated package builds will
continue to provide the correct version information.
The legacy build variables will be supported until 0.12.0, giving
package maintainers some time to migrate.
Change-Id: I05fea97169ea1af87b198174afe5b6663f860fd8
|
|
This change refactors documentation, especially //:README.md,
//:CONTRIBUTING.md, and centralized most of the rest of the contributing
and usage documentation into `//doc`. There are some additional minor
changes to the development shell and pipeline configuration.
Documentation changes focus on cleaning up erroneous language,
reformatting, and restructuring docs in order to reduce visual noise -
the goals are to enable users and contributors to find what they're
looking
for much more quickly, reduce (sometimes erroneous) duplication, and
present a structured approach for where to put docs.
Additionally:
- Added CI pipeline badge for the `trunk` workflow in `//:README.md`
- Converted embedded emoji characters to GitHub's emoji syntax
- Simplified `//:README.md` by moving inline documentation out to files
under `//doc`.
- Removed most inline CLI "documentation" (lists of commands) with a
link to the generated CLI documentation.
- Moved most sections with image and installation instructions into
`<details>` elements
- Replaced references to gitter with matrix
- Added `treefmt-nix` to the flake, and formatted all non-generated
documentation was with `nix fmt` (running `mdformat` under the hood)
- Regenerated //doc/md and //doc/man and refactored inline docs from
various
pages that were iterating out command line details so that they simply
point to //doc/md instead
- Rewrote contributing docs to focus on using `nix`, to ensure that the
development shell is used. This enforces consistency across different
platforms with the revision and configuration of each tool we use, and
simplifies the onboarding story for contributors -- they only need to
install and configure nix (and optionally direnv). A dev container
will be provided in the future [0] as an alternative for users on
Windows (who can use WSL) or want to avoid installing `nix`.
- Added `pinact` to the flake to support pinning action libraries used
in workflows.
- Added flake checks for codespell and pinact. Combined with treefmt,
this entirely replaces //.github/workflows:lint.yml. With this change,
codespell's execution was fixed to properly execute on all files, and
the configuration file was refactored to properly ignore
package-lock.json files.
- Added a workflow job to run flake checks.
[0]: https://github.com/git-bug/git-bug/issues/1364
Closes: #1212 #1276 #1330 #1357
Change-Id: I6f4b5f5ca73780cecf66a553cce80aa3f75df2ce
|