- do not use a intermediate docker image between 'build' and 'test'
- in 'build_deps', avoid downloading the cached image
- in 'prepare', use `opam bundle` to:
- embedded the sources of dependency
- reduce the embedded opam repository to the needed package
Other changes:
- reintroduced 'sudo' in the base image, it is needed by `opam depext`
and the job 'publish:doc'
- moved the docker script used by the CI in `scripts/ci/`
- Docker files and build scripts
+ add git, bash and patch to the docker base definition (Dockerfile.base)
+ build leveldb once and for all
(scripts/create_docker_image.leveldb_deps.sh)
+ add --depth 1 to all git clone calls
+ remove sudo, openssh and rsync from base images
+ add --no-cache to all apk calls
+ merge dockerfiles in the sh scripts
- Provides a toplevel documentation structure using Sphinx
- Adds a `doc-html` target to the main Makefile
- Converts existing documentation to RST format
- Add some new documentation / tutorials
- Links the developer manual and OCaml documentation
- Synchronized documentation on Gitlab pages
This patch is co-authored by:
- Benjamin Canou <benjamin@canou.fr>
- Bruno Bernardo <bernardobruno@gmail.com>
- Pietro Abate <pietro.abate@inria.fr>
This is a rewrite of the build system with `jbuilder`, with just a
minimal toplevel Makefile for backward compatibility.
This first patch preserves the project architecture, we only gain
proper dependencies handling and always up-to-date `.merlin` files.
A latter patch may split the project in smaller "sub-package",
i.e. multiple `.opam` files.
The embedded versions of the economic protocol are now compiled with
`jbuilder` instead of `tezos-protocol-compiler`, potentially allowing
proper inlining at the cost of slightly-less-stricter
sandboxing. Nevertheless, dynamically loaded protocol are still
compiled with the `tezos-protocol-compiler` and thus strictly
sandboxed ; and a CI rule also checks the proper sandboxing of
embedded protocols.
This patch is coauthored with @hnrgrgr