~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
main
52 lines · 1.5 KB Raw History
{
	"name": "cicd-workload",
	"description": "computer.socialweb.cicd.workload.run: a CI job's checkout and steps on a machine, through the computer.socialweb.cicd.process.* hooks.",
	"actions": [
		{
			"entry": "run",
			"label": "Run a job",
			"fields": [
				{
					"key": "url",
					"type": "string",
					"label": "Machine shell URL",
					"required": true,
					"description": "What the process hooks reach the machine at (iroh:///<ref>/shell/mcp)."
				},
				{
					"key": "job",
					"type": "object",
					"label": "Job",
					"required": true,
					"description": "{checkout: {git, commit, merge?: {git, commit}}, env?: {NAME: value}, steps: [{name, run, env?}]}"
				}
			],
			"description": "The machine clones job.checkout (git over https), then runs each step as `sh -s` in /work, its env on stdin; stops at the first that fails. Result as it runs: {step, output}; at the end: {steps: [{name, exitCode}], ok}."
		}
	],
	"calls": [],
	"hooks": [
		{
			"nsid": "computer.socialweb.cicd.process.start",
			"reason": "each step is a job on the machine",
			"required": true
		},
		{
			"nsid": "computer.socialweb.cicd.process.write",
			"reason": "close the job's stdin once its script is in",
			"required": true
		},
		{
			"nsid": "computer.socialweb.cicd.process.read",
			"reason": "follow the job's output until it ends",
			"required": true
		}
	],
	"implements": [
		{
			"nsid": "computer.socialweb.cicd.workload.run",
			"entry": "run"
		}
	],
	"uri": "at://did:plc:ocnuqjlzgohypj3zoznermms/com.fedfork.exec.wasm.module/cicd-workload"
}