jane remover
Some checks failed
Docker image builds / build (push) Waiting to run
Asset Build Verification / asset_verification (push) Has been cancelled
Docs deploy / build (push) Has been cancelled
Go Mod Tidy Check / go_mod_tidy_check (push) Has been cancelled
Go / go_tests (push) Has been cancelled
Package builds (unstable) / package_builds (push) Has been cancelled
Smoke tests / smoke-test (default-config-macro) (push) Has been cancelled
Smoke tests / smoke-test (docker-registry) (push) Has been cancelled
Smoke tests / smoke-test (double_slash) (push) Has been cancelled
Smoke tests / smoke-test (forced-language) (push) Has been cancelled
Smoke tests / smoke-test (git-clone) (push) Has been cancelled
Smoke tests / smoke-test (git-push) (push) Has been cancelled
Smoke tests / smoke-test (healthcheck) (push) Has been cancelled
Smoke tests / smoke-test (i18n) (push) Has been cancelled
Smoke tests / smoke-test (log-file) (push) Has been cancelled
Smoke tests / smoke-test (nginx) (push) Has been cancelled
Smoke tests / smoke-test (palemoon/amd64) (push) Has been cancelled
Smoke tests / smoke-test (robots_txt) (push) Has been cancelled
Check Spelling / Check Spelling (push) Has been cancelled
SSH CI / ssh (aarch64-16k) (push) Has been cancelled
SSH CI / ssh (aarch64-4k) (push) Has been cancelled
SSH CI / ssh (ppc64le) (push) Has been cancelled
SSH CI / ssh (riscv64) (push) Has been cancelled
zizmor / zizmor latest via PyPI (push) Has been cancelled
Some checks failed
Docker image builds / build (push) Waiting to run
Asset Build Verification / asset_verification (push) Has been cancelled
Docs deploy / build (push) Has been cancelled
Go Mod Tidy Check / go_mod_tidy_check (push) Has been cancelled
Go / go_tests (push) Has been cancelled
Package builds (unstable) / package_builds (push) Has been cancelled
Smoke tests / smoke-test (default-config-macro) (push) Has been cancelled
Smoke tests / smoke-test (docker-registry) (push) Has been cancelled
Smoke tests / smoke-test (double_slash) (push) Has been cancelled
Smoke tests / smoke-test (forced-language) (push) Has been cancelled
Smoke tests / smoke-test (git-clone) (push) Has been cancelled
Smoke tests / smoke-test (git-push) (push) Has been cancelled
Smoke tests / smoke-test (healthcheck) (push) Has been cancelled
Smoke tests / smoke-test (i18n) (push) Has been cancelled
Smoke tests / smoke-test (log-file) (push) Has been cancelled
Smoke tests / smoke-test (nginx) (push) Has been cancelled
Smoke tests / smoke-test (palemoon/amd64) (push) Has been cancelled
Smoke tests / smoke-test (robots_txt) (push) Has been cancelled
Check Spelling / Check Spelling (push) Has been cancelled
SSH CI / ssh (aarch64-16k) (push) Has been cancelled
SSH CI / ssh (aarch64-4k) (push) Has been cancelled
SSH CI / ssh (ppc64le) (push) Has been cancelled
SSH CI / ssh (riscv64) (push) Has been cancelled
zizmor / zizmor latest via PyPI (push) Has been cancelled
This commit is contained in:
parent
d2205b11a7
commit
896858e027
332 changed files with 1482 additions and 33742 deletions
127
yeetfile.js
127
yeetfile.js
|
|
@ -1,43 +1,40 @@
|
|||
$`npm run assets`;
|
||||
|
||||
[
|
||||
"amd64",
|
||||
"arm64",
|
||||
"ppc64le",
|
||||
"riscv64",
|
||||
].forEach(goarch => {
|
||||
[deb, rpm, tarball].forEach(method => method.build({
|
||||
name: "anubis",
|
||||
description: "Anubis weighs the souls of incoming HTTP requests and uses a sha256 proof-of-work challenge in order to protect upstream resources from scraper bots.",
|
||||
homepage: "https://anubis.techaro.lol",
|
||||
license: "MIT",
|
||||
goarch,
|
||||
["amd64", "arm64", "ppc64le", "riscv64"].forEach((goarch) => {
|
||||
[deb, rpm, tarball].forEach((method) =>
|
||||
method.build({
|
||||
name: "nuke",
|
||||
description: "nuke is cool and awesome",
|
||||
homepage: "https://git.sad.ovh/sophie/nuke",
|
||||
license: "MIT",
|
||||
goarch,
|
||||
|
||||
documentation: {
|
||||
"./README.md": "README.md",
|
||||
"./LICENSE": "LICENSE",
|
||||
"./data/botPolicies.yaml": "botPolicies.yaml",
|
||||
},
|
||||
documentation: {
|
||||
"./README.md": "README.md",
|
||||
"./LICENSE": "LICENSE",
|
||||
"./data/botPolicies.yaml": "botPolicies.yaml",
|
||||
},
|
||||
|
||||
build: ({ bin, etc, systemd, doc }) => {
|
||||
$`go build -o ${bin}/anubis -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/anubis`;
|
||||
$`go build -o ${bin}/anubis-robots2policy -ldflags '-s -w -extldflags "-static" -X "github.com/TecharoHQ/anubis.Version=${git.tag()}"' ./cmd/robots2policy`;
|
||||
build: ({ bin, etc, systemd, doc }) => {
|
||||
$`go build -o ${bin}/nuke -ldflags '-s -w -extldflags "-static" -X "git.sad.ovh/sophie/nuke.Version=${git.tag()}"' ./cmd/nuke`;
|
||||
$`go build -o ${bin}/nuke-robots2policy -ldflags '-s -w -extldflags "-static" -X "git.sad.ovh/sophie/nuke.Version=${git.tag()}"' ./cmd/robots2policy`;
|
||||
|
||||
file.install("./run/anubis@.service", `${systemd}/anubis@.service`);
|
||||
file.install("./run/default.env", `${etc}/default.env`);
|
||||
file.install("./run/nuke@.service", `${systemd}/nuke@.service`);
|
||||
file.install("./run/default.env", `${etc}/default.env`);
|
||||
|
||||
$`mkdir -p ${doc}/docs`
|
||||
$`cp -a docs/docs ${doc}`;
|
||||
$`find ${doc} -name _category_.json -delete`;
|
||||
$`mkdir -p ${doc}/data`;
|
||||
$`cp -a data/apps ${doc}/data/apps`;
|
||||
$`cp -a data/bots ${doc}/data/bots`;
|
||||
$`cp -a data/clients ${doc}/data/clients`;
|
||||
$`cp -a data/common ${doc}/data/common`;
|
||||
$`cp -a data/crawlers ${doc}/data/crawlers`;
|
||||
$`cp -a data/meta ${doc}/data/meta`;
|
||||
},
|
||||
}));
|
||||
$`mkdir -p ${doc}/docs`;
|
||||
$`cp -a docs/docs ${doc}`;
|
||||
$`find ${doc} -name _category_.json -delete`;
|
||||
$`mkdir -p ${doc}/data`;
|
||||
$`cp -a data/apps ${doc}/data/apps`;
|
||||
$`cp -a data/bots ${doc}/data/bots`;
|
||||
$`cp -a data/clients ${doc}/data/clients`;
|
||||
$`cp -a data/common ${doc}/data/common`;
|
||||
$`cp -a data/crawlers ${doc}/data/crawlers`;
|
||||
$`cp -a data/meta ${doc}/data/meta`;
|
||||
},
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
// NOTE(Xe): Fixes #217. This is a "half baked" tarball that includes the harder
|
||||
|
|
@ -46,41 +43,41 @@ $`npm run assets`;
|
|||
// model into the bazaar 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,
|
||||
name: "nuke-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`;
|
||||
},
|
||||
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}`,
|
||||
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,
|
||||
name: "nuke-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`;
|
||||
},
|
||||
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}`,
|
||||
});
|
||||
mkFilename: ({ name, version }) => `${name}-${version}`,
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue