Custom channels integration tests have been fully migrated to the
taproot-assets repository where they run natively via the tapd-integrated
binary without any lightning-terminal dependency. This removes the
duplicate test suite and all supporting infrastructure from LiT.
The LiT-specific itests are unaffected.
- Replace the default `lll` with a custom `ll` linter, enabling
configurable exclusions for specific `S` log lines.
- Integrate custom `ll` linter into the build system and `Makefile`.
- Include relevant test cases and configuration for `golangci-lint`.
- add tranche splitting/shuffling flags to the itest harness
- add itest-parallel target and scripts to run tranches concurrently
- write per-tranche logs under .logs/trancheN and tail failures for
clarity
Add the `commit_hash` field to the GetInfoResponse. The `commit_hash`
field will contain the most recent commit_hash that the build was based
on. If the build had uncommitted changes, this field will contain the
most recent commit hash, suffixed by "-dirty".
The semantics of the `version` field is also updated to always contain
the most recent semantic version of the litd node, following the
semantic versioning 2.0.0 spec (http://semver.org/).
The itest-only goal is really useful for not needing to run the app
build. But when switching between lnd versions, it's annoying if the lnd
binary isn't built with itest-only. So we change that and always also
build the btcd/lnd binaries with itest-only. This will take slightly
longer but lead to fewer issues when switching branches between
different lnd major versions.
This commit also contains the sqlc.yaml file, the `make sqlc` command
and the script for generating sqlc code. This must be done in this
commit as the script only works if there are queries to generate from.
The dev flag allows us to enable some of lnd's configuration flags that
are only available for testing. To speed up any wallet interaction, we
also add the lowscrypt build tag that chooses weak encryption for the
wallet that is much faster (a couple of milliseconds vs. multiple
seconds per wallet creation).
We dockerize the app build and use that for both the docker build _AND_
the normal build to make sure the static content is fully reproducible
across different systems.
This commit updates `scripts/release.sh` to include a check for the
correct Go version before executing the release build. This ensures that
the release binaries are built with the specified Go version,
maintaining consistency and integrity for developer signatures.
Because the "make release" command collided with the release.sh script,
make thought it needed to do something with that file.
We fix that problem in two ways: We move the file into the scripts sub
folder and also tell make that all our defined goals don't correspond to
folders or files.
We want to allow users to use LiT under a custom path to make it easier
to integrate LiT in bundled software such as BTCPayServer. Because the
custom path prefix must be known at build time, we create an additional
docker image that uses the static /lit path as the prefix.