make a half-baked tarball (#221)
* make a half-baked tarball Closes #217 Signed-off-by: Xe Iaso <me@xeiaso.net> * make two tarballs: one with just the vendor, and one with vendor and npm Signed-off-by: Xe Iaso <me@xeiaso.net> --------- Signed-off-by: Xe Iaso <me@xeiaso.net>
This commit is contained in:
parent
f1f8fdf752
commit
df27a96f1f
8 changed files with 77 additions and 5 deletions
45
yeetfile.js
45
yeetfile.js
|
|
@ -24,4 +24,49 @@ $`npm run assets`;
|
|||
file.install("./run/default.env", `${etc}/default.env`);
|
||||
},
|
||||
}));
|
||||
});
|
||||
|
||||
// NOTE(Xe): Fixes #217. This is a "half baked" tarball that includes the harder
|
||||
// parts for deterministic distros already done. Distributions like NixOS, Gentoo
|
||||
// and *BSD ports have a difficult time fitting the square peg of their dependency
|
||||
// model into the bazarr of round holes that various modern languages use. Needless
|
||||
// to say, this makes adoption easier.
|
||||
tarball.build({
|
||||
name: "anubis-src-vendor",
|
||||
license: "MIT",
|
||||
// XXX(Xe): This is needed otherwise go will be very sad.
|
||||
platform: yeet.goos,
|
||||
goarch: yeet.goarch,
|
||||
|
||||
build: ({ out }) => {
|
||||
// prepare clean checkout in $out
|
||||
$`git archive --format=tar HEAD | tar xC ${out}`;
|
||||
// vendor Go dependencies
|
||||
$`cd ${out} && go mod vendor`;
|
||||
// write VERSION file
|
||||
$`echo ${git.tag()} > ${out}/VERSION`;
|
||||
},
|
||||
|
||||
mkFilename: ({ name, version }) => `${name}-${version}`,
|
||||
});
|
||||
|
||||
tarball.build({
|
||||
name: "anubis-src-vendor-npm",
|
||||
license: "MIT",
|
||||
// XXX(Xe): This is needed otherwise go will be very sad.
|
||||
platform: yeet.goos,
|
||||
goarch: yeet.goarch,
|
||||
|
||||
build: ({ out }) => {
|
||||
// prepare clean checkout in $out
|
||||
$`git archive --format=tar HEAD | tar xC ${out}`;
|
||||
// vendor Go dependencies
|
||||
$`cd ${out} && go mod vendor`;
|
||||
// build NPM-bound dependencies
|
||||
$`cd ${out} && npm ci && npm run assets && rm -rf node_modules`
|
||||
// write VERSION file
|
||||
$`echo ${git.tag()} > ${out}/VERSION`;
|
||||
},
|
||||
|
||||
mkFilename: ({ name, version }) => `${name}-${version}`,
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue