Files
DavidandClaude Fable 5 6a472f1649 tech(M6): Release-Pipeline testet, taggt und prüft ehrlich — vier Löcher zu
(1) release.yml hatte kein Gate: ci.yml jetzt als workflow_call vor build-tauri
(needs: gate). (2) Checkout war target_commitish (Branch) statt Tag -> ref: tag_name,
die signierten Bytes entsprechen jetzt dem Tag (AGPL §6). (3) ci.yml rief nur
cargo check -> cargo test + clippy (clippy non-gating: scheitert heute schon an
secret.rs:108 absurd_extreme_comparisons, Folgefund). (4) enforce-prerelease war
No-Op (rel.id === latest.id greift immer) -> prüft jetzt 'von diesem Run gerade
veröffentlicht?' statt 'schon Latest?'. (5) discord-announce zählte alte Assets
mit -> nur state=uploaded und created_at >= Run-Start.

Audit: LUTechnikAudit2.6.6 M6 (release.yml, release-rules.mjs, discord-announce).
Verifikation STATISCH (kein Actions-Lauf, nichts öffentlich); release-rules 28
Tests grün, cargo test 539 grün, Full-Suite 6.280.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 12:36:07 -07:00

34 lines
1.0 KiB
TypeScript

/** Types for the plain-node rule module. The script itself runs in CI without
* a build step, so the implementation stays .mjs and the types live here. */
export declare const MARKER: string
export declare const BANNER: string
export interface GitHubRelease {
id: number
tag_name?: string
prerelease?: boolean
draft?: boolean
published_at?: string | null
created_at?: string | null
body?: string | null
}
export declare function withoutBanner(body: string | null | undefined): string
export declare function shouldCarryBanner(
rel: GitHubRelease,
latest: GitHubRelease | null | undefined,
): boolean
export interface ForcePrereleaseContext {
/** True when this run's own `release: published` event named this release —
* it was published seconds ago, so it cannot have been verified yet. */
publishedByThisRun?: boolean
}
export declare function shouldForcePrerelease(
rel: GitHubRelease | null | undefined,
latest: GitHubRelease | null | undefined,
ctx?: ForcePrereleaseContext,
): boolean