changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > org > docs / infra/quickstart.org

changeset 22: 889970442a12
parent: 6932edcf60ec
child: 411eeaebc6d2
author: Richard Westhaver <ellis@rwest.io>
date: Mon, 27 May 2024 22:04:39 -0400
permissions: -rw-r--r--
description: docs bump
1 {{{header(infra/quickstart,
2 Richard Westhaver,
3 ellis@rwest.io,
4 Infra Quickstart Guide)}}}
5 #+property: header-args :dir /home/ellis/comp/infra/
6 
7 The CC =infra= project can be thought of as one big Makefile, and
8 currently it is one.
9 
10 - *Host Requirements*
11  - x86_64 4 core CPU
12  - 8G RAM
13  - 32G Disk Space
14  - Linux kernel
15 
16 - *Minimum Dependencies*
17  - mercurial
18  - git
19  - zstd
20 
21 * TODO check.sh
22 Check that the current host is a qualified builder.
23 
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
28 directory.
29 
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.
33 
34 #+begin_src shell
35 ./check.sh
36 #+end_src
37 
38 #+RESULTS:
39 | STASH= |
40 | STORE= |
41 | DIST= |
42 | PACKY_URL= |
43 | VC_URL= |
44 | INSTALL_PREFIX= |
45 | CC= |
46 | AR= |
47 | HG= |
48 | GIT= |
49 | LISP= |
50 | RUST= |
51 | LD= |
52 | SHELL=/bin/bash |
53 | DEV= |
54 | DEV_HOME= |
55 | ID= |
56 | WORKER= |
57 | WORKER_ID= |
58 | WORKER_HOME= |
59 | CARGO_HOME= |
60 | RUSTUP_HOME= |
61 
62 * TODO install.sh
63 Install core dependencies.
64 
65 This script will install missing core binaries and libraries to the
66 =infra= stash directory.
67 - sbcl
68 - librocksdb
69 - rust
70 
71 * TODO bootstrap.sh
72 Bootstrap the core.
73 
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=
78 
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.
82 
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.
86 
87 * TODO deploy.lisp
88 Deploy =infra= builds to a remote.
89 
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.
96 
97 Production deployments end up at https://packy.compiler.company.