/** * Op waves → Forgejo Actions workflow (#3679). * * The github workflow ({@link buildGithubOpWavesDoc}) under the Forgejo * dialect: action refs rewritten, `permissions:` dropped (the runner reads * none), and each wave's `environment:` dropped with a header line saying so, * since Forgejo Actions has no environments. The wave's chant gate is what * holds it there. * * With `resume` on the spec (#3683), `-resume.yml` runs `chant run * resume --op ` on that schedule. Forgejo has no API to re-run a run, * so it dispatches the waves workflow again on its branch, with the * `CHANT_FORGE_TOKEN` secret (a token with the `write:repository` scope). * * A `pr-review` wave (#3684) gets `-plans.yml` on pull requests, as on * GitHub. Forgejo's job token reads reviews with no permission to ask for. * * `runner` and a wave's `jobs` (#3914) render as on GitHub, with two limits: * a runner is a label or a list of labels (a GitHub runner group is a spec * error), and a job group cannot name an `environment`, since Forgejo has * none to put in front of it. A job with id tokens keeps `permissions: * id-token: write`, the one scope the dialect leaves, and reads each audience * from `_AUDIENCE` when it requests its token. */ import type { OpWavesSpec } from "@intentius/chant/op/op-waves"; import type { OpWavesPipelineOptions, OpWavesPipelineResult } from "@intentius/chant/lexicon"; import type { ForgejoDialectOptions } from "../dialect.js"; /** Render an Op waves spec as one Forgejo Actions workflow, `.yml`. */ export declare function generateForgejoOpWavesPipeline(spec: OpWavesSpec, options: OpWavesPipelineOptions, dialectOptions?: ForgejoDialectOptions): OpWavesPipelineResult; //# sourceMappingURL=generate-op-waves-pipeline.d.ts.map