v0.2.3
Fixed
-
The appliance workflow had never run, and died four hundredths of a second
in.mkdir: cannot create directory '/mnt/appliance': Permission denied—
on a GitHub runner/mntbelongs to root, and that is where the disk space
is (~70 GB against ~14 on/). No local build could show it, since the
directory exists and is writable on a developer's machine. A dedicated step
now creates it withsudoand hands it to the runner. -
The image is published on every release, not only on minor ones. The old
rule saved bandwidth and cost more than it saved: the documentation announced
an appliance the latest release did not carry, and the reader had to work out
which earlier release did. "The latest release carries the image" is the only
sentence that needs no caveat, and nothing accumulates since the retention
step keeps the last two sets. The two workflows now start from the same tag,
so the upload waits for the Release to exist instead of assuming it — and
says which workflow to look at if it never does.
Changed
-
The documentation is a path now, not a pile of pages. Read end to end
against the code, it had breaks that no single page could reveal:learner.mdpromisedrunright after cloning a catalog, while 66 of the
Linux catalog's 86 labs arevmlabs: thatrunexits 2, theprovision
it suggests exits 1 for want of an SSH key, and neitherinstructor bootstrap, norstart, nor the word Terraform appeared anywhere on the
page. It now names what avmlab asks of a machine, and putsstartfirst
— the command that plays the whole order and announces each step with the
command that replays it alone.catalog-author.mdlisted a lab's files without saying what goes in them.
The scale thatvalidate-structureenforces (### … (20 pts)against a
N tasks, M pointsheader, and one point per test), the format of
hints.yaml, and whereconftest.pylives — pytest runs from the catalog
root — were documented nowhere.The README reached neither the index nor
exit-codes.md,
machine-output.mdandinfra-only.md: three reference pages unreachable
from the front door.The SSH key was described as something a catalog ships. It is not: published
catalogs ignore the wholessh/directory, andprovisionrefuses to start
without the private half. It is generated per clone, byinstructor bootstrap, learners included.contract-v1.mdcontradicted itself nine lines apart on whether
repo.categoryis required. -
docs/appliance.mdis a step-by-step, from installing VirtualBox to the
first lab, with the digest check, the memory to give the machine depending on
the host's, what the first boot looks like in three acts, and a
troubleshooting table. Both READMEs open on the two ways in, each with its
own four-step path.
Added
- Credit where it is due: the appliance is @cedric-ribier's idea, and it
exists because he had already built one end to end and documented it in
#91. The one shipped here
is directly inspired by his.