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.
To separate the asset to golang conversion step from the node app build,
we add a new, independent goal for just the statik command. That way we
can cleanly separate between stuff that needs yarn/nodejs installed and
stuff that needs golang installed.
To make sure the compiled protos in the git repository are always up to
date, we add a GitHub action that checks them by compiling and diffing
the files.
The version string on boot up displays the lnd version hard coded in
lnd/build/version.go but the commit of shushtar (currently
v0.1.0-alpa.rcX). This could be confusing to users, why the second
version is completely different. I added the prefix "shushtar-" to the
commit to make it clear it is referencing the shushtar repo.
We also fix the Makefile to properly compile in the commit hash.