Adds a derivation that uses a patched pkg/urbit/vere/lmdb.c that employs
a sixty gigabyte log limit, instead of the default forty. This is
useful for ships e.g. ~zod that receive a lot of traffic on mainnet.
'installPhase' captures all the important stuff that builder.sh
previously did, and use of the generic builder allows stages of the
build to be more easily overridden.
By baking (potentially) multiple pills into an image, we can provide
mainnet vs ropsten images. It is still up to the operator to pass
along the pill path(s) to the entrypoint. For example, using Docker:
docker run --tty urbit -B /share/brass.pill -J /share/ivory.pill ...
The main .image attribute still uses only the solid pill, and image-ropsten
has been provided with brass and ivory pills.
Additionally herb has been added to the image for convenience.
Returns the target %zuse contract configuration to mainnet, and also
tweaks the 'arvo-ropsten' build to use %alef instead of %ames.
Also fixes a merge conflict artifact in nix/ops/default.nix.
0bdced981e introduced the 'arvo-ropsten' derivation. Attempting to
install both 'arvo' and 'arvo-ropsten' via nix-env will result in a
priority error; this assigns a higher priority to 'arvo' to resolve the
conflict.
Fixes#1912.
Arvo testnets typically use Ropsten's deploy of the Azimuth contract
instead of mainnet's. This commit adds an 'arvo-ropsten' derivation for
Arvo as specialised to Ropsten.
In addition to using a different Azimuth address in %zuse, this also
configures %ames and :acme appropriately for running an alternate
network on Ropsten. %ames has its protocol version incremented, and
:acme uses the Let's Encrypt staging API.
Included here are derivations for creating brass and ivory pills using
arvo-ropsten, to boot.
This removes the baked in codedump inspection and wrapper scripts
in favour of downstream tooling overriding this as necessary by
using FROM <image> in their respective dockerfile.
578adc93 introduced a 'meta' attribute for handling, amongst other
things, conditional construction of the debug executable. It missed the
'solid' derivation, causing it to break.
Rather than conditional reconstructing the "urbit/bin/urbit-debug -g"
string everytime using the debug conditional, this information has been
added to the derivation's .meta attribute.
This writes the SSL certs to a temporary file on startup and then
uses environment variables to control OpenSSL and curl so that
they use them. We have to do this because OSX no longer ships the
normal ca pems, and we statically link with these libraries.
This is required to prevent `rm -r ./pier/stage` from crashing the
script when ./pier/stage doesn't exist, and seems to be necessary for
soliding a pill with the associated derivation.
* Add cross-compilation for `lmdb`.
* Got built caching working in CI with `cachix`.
* Cache cross compilation dependencies and toolchains.
* Do release builds in CI.
* Upload release builds to `bootstrap.urbit.org` on successful build.
* Lots of optimization work for CI.
* Boot from a solid pill in CI and load arvo with `-A`.
* Increase `vere` HTTP timeout to 15m.
* Move extraneous stuff out of pkg/urbit/*
* s/urb/herb/g
* Removed some boilerplate for `urbit` builds.
* Build urbit tests and run them in the nix build.