changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > org > docs / infra/quickstart.org

changeset 32: f3811af6b10d
parent: a0017112db77
child: aefeb7103fb8
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 16 Jun 2024 22:16:34 -0400
permissions: -rw-r--r--
description: fix
1 #+title: infra/quickstart
2 #+author: Richard Westhaver
3 #+email: ellis@rwest.io
4 #+description: Infra Quickstart Guide
5 #+property: header-args :dir /home/ellis/comp/infra/
6 #+setupfile: ../../clean.theme
7 - *Host Requirements*
8  - x86_64 4 core CPU
9  - 8G RAM
10  - 32G Disk Space
11  - Linux kernel
12 
13 - *Minimum Dependencies*
14  - mercurial
15  - git
16  - zstd
17 
18 * TODO check.sh
19 Check that the current host is a qualified builder.
20 
21 This will interrogate the system, checking for minimum
22 requirements. If any requirement isn't met an error is
23 signaled. Environment variables are also reported here, but not
24 set. On completion, the file =host.sxp= is written to the current
25 directory.
26 
27 The minimum software dependencies above should be installed via your
28 system's package manager. The remaining dependencies are installed via
29 the =install.sh= script.
30 
31 #+begin_src shell
32 ./check.sh
33 #+end_src
34 
35 #+RESULTS:
36 | STASH= |
37 | STORE= |
38 | DIST= |
39 | PACKY_URL= |
40 | VC_URL= |
41 | INSTALL_PREFIX= |
42 | CC= |
43 | AR= |
44 | HG= |
45 | GIT= |
46 | LISP= |
47 | RUST= |
48 | LD= |
49 | SHELL=/bin/bash |
50 | DEV= |
51 | DEV_HOME= |
52 | ID= |
53 | WORKER= |
54 | WORKER_ID= |
55 | WORKER_HOME= |
56 | CARGO_HOME= |
57 | RUSTUP_HOME= |
58 
59 * TODO bootstrap.sh
60 Bootstrap the core.
61 
62 - download and prepare target-specific dependencies
63 - install the latest =sk= binary from https://packy.compiler.company
64  to the stash
65 - compile and load =bootstrap.lisp=
66 
67 Upon completion a local =stash= directory is provisioned. At this
68 point we no longer need to depend on shell scripting as we have a
69 fully interactive Lisp environment to hack on our builds with.
70 
71 From here, you may run =skel inspect= to inspect the infra =skelfile=
72 and select a target to build on your machine or in a container. Use
73 =skel --help= for a list of other commands.
74 
75 * TODO deploy.lisp
76 Deploy =infra= builds to a remote.
77 
78 Deployment involves 'packing' a target found in =stash=, archiving it,
79 compressing it, and sending it to a remote location possibly with a
80 signature, checksum, or other metadata, and possibly encrypted. A
81 'package' may also be a raw directory of plain-text files. It's a very
82 loose term. Where the package ends up and how it is packed depends on
83 the build-config and skelfile slots.
84 
85 Production deployments end up at https://packy.compiler.company.
86 
87 
88 * TODO install.lisp
89 Install core packages locally.