1 {{{header(infra/quickstart,
4 Infra Quickstart Guide)}}}
5 #+property: header-args :dir /home/ellis/comp/infra/
7 The CC
=infra= project can be thought of as one big Makefile, and
16 - *Minimum Dependencies* 22 Check that the current host is a qualified builder.
24 This will interrogate the system, checking for minimum
25 requirements. If any requirement isn't met an error is
26 signaled. Environment variables are also reported here, but not
27 set. On completion, the file
=host.sxp= is written to the current
30 The minimum software dependencies above should be installed via your
31 system's package manager. The remaining dependencies are installed via
32 the
=install.sh= script.
63 Install core dependencies.
65 This script will install missing core binaries and libraries to the
66 =infra= stash directory.
74 - download and run
=cc-install= 75 - install the latest
=infra= lisp core from
76 https://packy.compiler.company to the stash
77 - compile and load
=bootstrap.lisp= 79 Upon completion a local
=stash= directory is provisioned. At this
80 point we no longer need to depend on shell scripting as we have a
81 fully interactive Lisp environment to hack on our builds with.
83 From here, you may run
=skel inspect= to inspect the infra
=skelfile= 84 and select a target to build on your machine or in a container. Use
85 =skel --help= for a list of other commands.
88 Deploy
=infra= builds to a remote.
90 Deployment involves 'packing' a target found in
=stash=, archiving it,
91 compressing it, and sending it to a remote location possibly with a
92 signature, checksum, or other metadata, and possibly encrypted. A
93 'package' may also be a raw directory of plain-text files. It's a very
94 loose term. Where the package ends up and how it is packed depends on
95 the build-config and skelfile slots.
97 Production deployments end up at https://packy.compiler.company.