@git.zone/cli 6.9.0 → 6.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,10 +3,11 @@ import * as paths from "../paths.js";
3
3
  import { logger } from "../gitzone.logging.js";
4
4
  import { getCliMode, printJson } from "../helpers.climode.js";
5
5
  import { inferVersionTypeFromPending, movePendingToVersion, readPendingChangelog, } from "../helpers.changelog.js";
6
- import { resolveReleaseDockerConfiguration, resolveReleaseWorkflow, resolveReleaseResumeConfiguration, } from "../helpers.workflow.js";
6
+ import { resolveReleaseDockerConfiguration, resolveReleaseWorkflow, resolveReleaseResumeConfiguration, assertGiteaAssetsGitDestination, } from "../helpers.workflow.js";
7
7
  import * as commitHelpers from "../mod_commit/mod.helpers.js";
8
8
  import { inspectReleaseBranch, integrateReleaseBranch, prepareReleaseIntegration, revalidatePreparedReleaseBranch, revalidateReleasePublicationState, releaseGitEnv, resolveReleaseMergeFlag, } from "./helpers.releasebranch.js";
9
- import { ReleaseJournalStore, createInitialReleaseDockerJournal, createInitialTargetStatus, finalizeJournalCompletion, normalizeReleaseGitRemoteName, normalizeReleaseVersion, resolveGitCommonDirectory, getReleaseArtifacts, releasePackageArtifactFile, } from "./classes.releasejournal.js";
9
+ import { ReleaseJournalStore, createInitialReleaseDockerJournal, createInitialTargetStatus, finalizeJournalCompletion, normalizeReleaseGitRemoteName, normalizeReleaseVersion, resolveGitCommonDirectory, getReleaseArtifacts, hasReleasePackages, releasePackageArtifactFile, } from "./classes.releasejournal.js";
10
+ import { GiteaAssetsClient, prepareGiteaAssets, } from "./helpers.giteaassets.js";
10
11
  import { assertNoLegacyNpmPublisher, assertPnpmReleaseCapability, hashReleaseDestination, normalizeNpmRegistryUrl, packNpmArtifact, verifyStoredNpmArtifact, } from "./helpers.npmartifact.js";
11
12
  import { executeReleasePublication } from "./helpers.releasepublication.js";
12
13
  import { assertPackageReleaseRecovery, assertRecoveryUnpublished, withReleasePreparationRecovery, } from "./helpers.releasepreparation.js";
@@ -67,6 +68,8 @@ const runInternal = async (argvArg) => {
67
68
  mergeRequested,
68
69
  planMode: workflow.confirmation === "plan",
69
70
  });
71
+ if (workflow.giteaAssets)
72
+ assertGiteaAssetsGitDestination(workflow.giteaAssets, branchContext.pushUrl || "");
70
73
  printReleasePlan(workflow, branchContext);
71
74
  if (workflow.targets.includes("npm") &&
72
75
  workflow.npmPackageSource === "tspublish") {
@@ -90,6 +93,18 @@ const runInternal = async (argvArg) => {
90
93
  const projectType = await commitHelpers.detectProjectType(branchContext.sourceCwd);
91
94
  const currentVersion = await commitHelpers.readCurrentVersion(projectType, branchContext.sourceCwd);
92
95
  const plannedVersion = commitHelpers.calculateNewVersion(currentVersion, versionType);
96
+ if (workflow.giteaAssets) {
97
+ const { tokenEnv, manifestPath, ...destination } = workflow.giteaAssets;
98
+ const token = process.env[tokenEnv];
99
+ if (!token)
100
+ throw new Error(`Gitea assets require the configured credential in ${tokenEnv}.`);
101
+ await new GiteaAssetsClient({
102
+ destination,
103
+ tag: `v${plannedVersion}`,
104
+ commit: branchContext.sourceOid,
105
+ token,
106
+ }).preflight();
107
+ }
93
108
  if (preflightTsdocker) {
94
109
  await preflightTsdocker.validate(createDockerQualificationRequest(workflow, branchContext.sourceCwd, plannedVersion, branchContext.sourceOid));
95
110
  }
@@ -185,6 +200,14 @@ const assertFreshReleaseCapabilities = async (smartshellArg, workflowArg, cwdArg
185
200
  }
186
201
  };
187
202
  const assertReleaseConfiguration = (workflowArg, mergeRequestedArg) => {
203
+ if (workflowArg.targets.includes("giteaAssets") &&
204
+ (!workflowArg.giteaAssets ||
205
+ !workflowArg.targets.includes("git") ||
206
+ !workflowArg.pushBranch ||
207
+ !workflowArg.pushTags ||
208
+ workflowArg.targets.includes("docker") ||
209
+ mergeRequestedArg))
210
+ throw new Error("Gitea asset releases require integrated main and Git branch/tag publication without Docker.");
188
211
  if (workflowArg.targets.includes("docker")) {
189
212
  if (mergeRequestedArg) {
190
213
  throw new Error("Docker releases cannot use --merge because qualification must precede every remote publication.");
@@ -292,9 +315,41 @@ export const createReleaseJournal = async (optionsArg) => {
292
315
  }
293
316
  const now = new Date().toISOString();
294
317
  const gitStatus = createInitialTargetStatus(gitEnabled);
318
+ const assetConfiguration = optionsArg.workflow.giteaAssets;
319
+ let giteaAssets;
320
+ if (optionsArg.workflow.targets.includes("giteaAssets")) {
321
+ if (!assetConfiguration || !gitEnabled || optionsArg.dockerRequest)
322
+ throw new Error("Invalid Gitea asset target combination.");
323
+ assertGiteaAssetsGitDestination(assetConfiguration, optionsArg.releasePushUrl);
324
+ const { tokenEnv, manifestPath, ...destination } = assetConfiguration;
325
+ const assets = await prepareGiteaAssets({
326
+ repositoryRoot: npmSourceCwd,
327
+ manifestPath,
328
+ version: optionsArg.version,
329
+ tag: `v${optionsArg.version}`,
330
+ artifactDirectory: temporaryDirectory,
331
+ destination,
332
+ });
333
+ giteaAssets = {
334
+ destination,
335
+ tokenEnv,
336
+ manifestPath,
337
+ release: { ...createInitialTargetStatus(true), id: null },
338
+ assets: assets.map((asset) => ({
339
+ ...createInitialTargetStatus(true),
340
+ asset,
341
+ })),
342
+ };
343
+ }
295
344
  const journal = finalizeJournalCompletion({
296
345
  kind: "gitzone-release-journal",
297
- schemaVersion: packages.length ? 3 : optionsArg.dockerRequest ? 2 : 1,
346
+ schemaVersion: giteaAssets
347
+ ? 4
348
+ : packages.length
349
+ ? 3
350
+ : optionsArg.dockerRequest
351
+ ? 2
352
+ : 1,
298
353
  revision: 1,
299
354
  release: {
300
355
  version: optionsArg.version,
@@ -303,7 +358,7 @@ export const createReleaseJournal = async (optionsArg) => {
303
358
  tagOid: optionsArg.refs.tagOid,
304
359
  },
305
360
  artifact,
306
- ...(packages.length ? { packages } : {}),
361
+ ...(packages.length || giteaAssets ? { packages } : {}),
307
362
  git: {
308
363
  state: gitStatus.state,
309
364
  attempts: gitStatus.attempts,
@@ -342,6 +397,7 @@ export const createReleaseJournal = async (optionsArg) => {
342
397
  })
343
398
  : [],
344
399
  },
400
+ ...(giteaAssets ? { giteaAssets } : {}),
345
401
  ...(optionsArg.dockerRequest
346
402
  ? {
347
403
  docker: createInitialReleaseDockerJournal(optionsArg.dockerRequest),
@@ -551,6 +607,7 @@ const runReleaseResume = async (argvArg, modeArg) => {
551
607
  const resumeConfiguration = await resolveReleaseResumeConfiguration({
552
608
  git: gitEnabled,
553
609
  npm: journal.npm.registries.length > 0,
610
+ giteaAssets: journal.schemaVersion === 4,
554
611
  });
555
612
  await assertResumeConfiguration(resumeConfiguration, journal, paths.cwd);
556
613
  let tsdocker;
@@ -650,10 +707,17 @@ const assertResumeConfiguration = async (workflowArg, journalArg, cwdArg) => {
650
707
  ]) ||
651
708
  workflowArg.npmAccessLevel !== journalArg.npm.access ||
652
709
  workflowArg.npmPackageSource !==
653
- (journalArg.schemaVersion === 3 ? "tspublish" : "root") ||
710
+ (hasReleasePackages(journalArg) ? "tspublish" : "root") ||
654
711
  workflowArg.npmAlreadyPublished !== journalArg.npm.alreadyPublished)) {
655
712
  throw new Error("Current npm release configuration does not match the journal.");
656
713
  }
714
+ if (journalArg.schemaVersion === 4) {
715
+ const { destination, tokenEnv, manifestPath } = journalArg.giteaAssets;
716
+ if (JSON.stringify(workflowArg.giteaAssets) !==
717
+ JSON.stringify({ ...destination, tokenEnv, manifestPath })) {
718
+ throw new Error("Current Gitea asset configuration does not match the journal.");
719
+ }
720
+ }
657
721
  if (journalArg.git.state !== "skipped" ||
658
722
  getReleaseArtifacts(journalArg).length) {
659
723
  await assertNoLegacyNpmPublisher(cwdArg);
@@ -668,10 +732,15 @@ const printReleaseJournalSummary = (journalArg) => {
668
732
  for (const registry of journalArg.npm.registries) {
669
733
  console.log(`npm ${registry.packageName ? `${registry.packageName} ` : ""}${registry.registry}: ${registry.state}`);
670
734
  }
671
- if (journalArg.schemaVersion === 3) {
735
+ if (hasReleasePackages(journalArg)) {
672
736
  for (const { artifact } of journalArg.packages)
673
737
  console.log(`artifact ${artifact.packageName}: ${artifact.integrity} (${artifact.sha256})`);
674
738
  }
739
+ if (journalArg.schemaVersion === 4) {
740
+ console.log(`Gitea release: ${journalArg.giteaAssets.release.state}`);
741
+ for (const entry of journalArg.giteaAssets.assets)
742
+ console.log(`asset ${entry.asset.name}: ${entry.state} (${entry.asset.sha256})`);
743
+ }
675
744
  if (journalArg.schemaVersion === 2) {
676
745
  console.log(`docker qualification ${journalArg.docker.request.candidateId}: ${journalArg.docker.qualification.state}`);
677
746
  for (const promotion of journalArg.docker.promotions) {
@@ -858,6 +927,12 @@ function printReleasePlan(workflow, branchContextArg) {
858
927
  console.log(`npm package source: ${workflow.npmPackageSource}`);
859
928
  console.log(`npm registries: ${workflow.npmRegistries.length > 0 ? workflow.npmRegistries.join(", ") : "none"}`);
860
929
  }
930
+ if (workflow.giteaAssets) {
931
+ const assets = workflow.giteaAssets;
932
+ console.log(`Gitea assets: ${assets.apiOrigin}/${assets.owner}/${assets.repository}`);
933
+ console.log(`asset manifest: ${assets.manifestPath}`);
934
+ console.log(`asset credential variable: ${assets.tokenEnv}`);
935
+ }
861
936
  if (workflow.targets.includes("docker")) {
862
937
  console.log(`docker engine: ${workflow.dockerEngine}`);
863
938
  console.log(`docker registry: ${workflow.dockerRegistry || "all configured registries"}`);
@@ -908,7 +983,7 @@ export function showHelp(mode) {
908
983
  { flag: "-p, --push", description: "Explicitly select the git target" },
909
984
  {
910
985
  flag: "--target <names>",
911
- description: "Replace configured targets with a non-empty subset of git,npm,docker",
986
+ description: "Replace configured targets with a non-empty subset of git,giteaAssets,npm,docker",
912
987
  },
913
988
  { flag: "--npm", description: "Explicitly select the npm target" },
914
989
  {
@@ -917,7 +992,7 @@ export function showHelp(mode) {
917
992
  },
918
993
  {
919
994
  flag: "--no-publish",
920
- description: "Remove npm and Docker without implicitly enabling Git",
995
+ description: "Remove Gitea assets, npm and Docker without implicitly enabling Git",
921
996
  },
922
997
  {
923
998
  flag: "--merge",
@@ -958,10 +1033,10 @@ export function showHelp(mode) {
958
1033
  console.log(" -b, --build Build after creating local release metadata");
959
1034
  console.log(" --no-build Disable the post-metadata release build");
960
1035
  console.log(" -p, --push Explicitly select the git target");
961
- console.log(" --target <names> Replace configured targets with a non-empty subset of git,npm,docker");
1036
+ console.log(" --target <names> Replace configured targets with a non-empty subset of git,giteaAssets,npm,docker");
962
1037
  console.log(" --npm Explicitly select the npm target");
963
1038
  console.log(" --docker Select digest-qualified Docker publication through project-local tSDocker >= 3.5.1");
964
- console.log(" --no-publish Remove npm and Docker without implicitly enabling Git");
1039
+ console.log(" --no-publish Remove Gitea assets, npm and Docker without implicitly enabling Git");
965
1040
  console.log(" --merge Fast-forward and lease-push a cleanly rebased feature branch before release metadata");
966
1041
  console.log(" --major|--minor|--patch Override inferred semver level");
967
1042
  console.log(" --plan Show workflow without fetching or mutating refs, files, index, or worktrees");
@@ -971,4 +1046,4 @@ export function showHelp(mode) {
971
1046
  console.log(" --recover-attempt Recover one exact 32-character hexadecimal attempt ID after proving its publisher stopped");
972
1047
  console.log("");
973
1048
  }
974
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfcmVsZWFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsc0JBQXNCLEVBQ3RCLGlDQUFpQyxHQUdsQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxhQUFhLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUMvQixpQ0FBaUMsRUFDakMsYUFBYSxFQUNiLHVCQUF1QixHQUV4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLDBCQUEwQixHQU0zQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLHVCQUF1QixHQUV4QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9B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
1049
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9tb2RfcmVsZWFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLG9CQUFvQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsc0JBQXNCLEVBQ3RCLGlDQUFpQyxFQUNqQywrQkFBK0IsR0FHaEMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QiwrQkFBK0IsRUFDL0IsaUNBQWlDLEVBQ2pDLGFBQWEsRUFDYix1QkFBdUIsR0FFeEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsMEJBQTBCLEdBTTNCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFD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
@@ -0,0 +1,50 @@
1
+ export interface IGiteaAssetDestination {
2
+ apiOrigin: string;
3
+ owner: string;
4
+ repository: string;
5
+ }
6
+ export interface IGiteaFrozenAsset {
7
+ name: string;
8
+ size: number;
9
+ sha256: string;
10
+ fileName: string;
11
+ publicUrl: string;
12
+ }
13
+ export interface IPrepareGiteaAssetsOptions {
14
+ repositoryRoot: string;
15
+ manifestPath: string;
16
+ version: string;
17
+ tag: string;
18
+ artifactDirectory: string;
19
+ destination: IGiteaAssetDestination;
20
+ }
21
+ export interface IGiteaRelease {
22
+ id: number;
23
+ tag: string;
24
+ publicUrl: string;
25
+ }
26
+ export interface IGiteaAssetInspection {
27
+ present: IGiteaFrozenAsset[];
28
+ missing: IGiteaFrozenAsset[];
29
+ }
30
+ export interface IGiteaAssetsClientOptions {
31
+ destination: IGiteaAssetDestination;
32
+ tag: string;
33
+ commit: string;
34
+ token: string;
35
+ fetchImplementation?: typeof fetch;
36
+ timeoutMs?: number;
37
+ }
38
+ export interface IGiteaAssetPreflight {
39
+ repositoryId: number;
40
+ /** Issue-attachment setting; Gitea's release FILE_MAX_SIZE is separate. */
41
+ generalAttachmentMaximumBytes: number;
42
+ }
43
+ export interface IGiteaAssetsClient {
44
+ preflight(): Promise<IGiteaAssetPreflight>;
45
+ inspectRelease(): Promise<IGiteaRelease | null>;
46
+ createRelease(): Promise<IGiteaRelease>;
47
+ inspectAssets(releaseId: number, expected: IGiteaFrozenAsset[]): Promise<IGiteaAssetInspection>;
48
+ uploadAsset(releaseId: number, asset: IGiteaFrozenAsset, artifactDirectory: string): Promise<void>;
49
+ verifyComplete(releaseId: number, expected: IGiteaFrozenAsset[]): Promise<void>;
50
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5naXRlYWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL21vZF9yZWxlYXNlL2ludGVyZmFjZXMuZ2l0ZWFhc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@git.zone/cli",
3
3
  "private": false,
4
- "version": "6.9.0",
4
+ "version": "6.10.0",
5
5
  "description": "A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.",
6
6
  "main": "dist_ts/index.js",
7
7
  "typings": "dist_ts/index.d.ts",
@@ -49,7 +49,7 @@
49
49
  "@aws-sdk/client-s3": "3.1095.0",
50
50
  "@git.zone/tsdoc": "^2.1.1",
51
51
  "@git.zone/tsdocker": "3.5.2",
52
- "@git.zone/tspublish": "^1.12.1",
52
+ "@git.zone/tspublish": "^1.14.0",
53
53
  "@push.rocks/commitinfo": "^1.0.13",
54
54
  "@push.rocks/early": "^4.0.4",
55
55
  "@push.rocks/projectinfo": "^5.1.0",
package/readme.md CHANGED
@@ -192,12 +192,12 @@ Release flags:
192
192
  | `-t`, `--test` | Enable preflight tests |
193
193
  | `-b`, `--build` | Enable the release build after local release metadata is created |
194
194
  | `-p`, `--push` | Explicitly select the `git` target; combine with other target flags as needed |
195
- | `--target <csv>` | Replace configured targets with a non-empty comma-separated subset of `git`, `npm`, and `docker`; empty or unknown elements fail |
195
+ | `--target <csv>` | Select `git`, `giteaAssets`, `npm`, and/or `docker`; npm cannot omit a configured enabled Gitea asset target |
196
196
  | `--npm` | Explicitly select the `npm` target; combine with other target flags as needed |
197
197
  | `--docker` | Explicitly select digest-qualified Docker publication; requires project-local `@git.zone/tsdocker >= 3.5.1` with protocol v1 |
198
- | `--no-publish` | Remove npm and Docker from the resolved target set without implicitly enabling Git |
198
+ | `--no-publish` | Remove Gitea assets, npm and Docker from the resolved target set without implicitly enabling Git |
199
199
  | `--no-build` | Disable the separate post-metadata project build; Docker qualification still performs its required image build |
200
- | `--merge` | Fast-forward and lease-push a cleanly rebased feature branch into `main`, then release from `main`; incompatible with an active Docker target |
200
+ | `--merge` | Fast-forward and lease-push a cleanly rebased feature branch into `main`, then release from `main`; incompatible with Docker or Gitea assets |
201
201
  | `--major`, `--minor`, `--patch` | Override inferred semver level |
202
202
  | `--plan` | Show the resolved workflow without fetching or mutating refs, files, the index, or worktrees |
203
203
  | `inspect [version]` | Read one or all durable release journals; add `--json` for machine-readable output |
@@ -303,6 +303,95 @@ This component release mode supports Git and npm targets. A combined Docker
303
303
  target is rejected before release mutation. Root-package Docker releases
304
304
  continue to use schema 2.
305
305
 
306
+ ### Gitea release attachments before npm
307
+
308
+ Enable `release.targets.giteaAssets` when public source archives, native executables,
309
+ or other versioned artifacts must be available before npm packages. This works
310
+ with root packages and ordered tspublish modules. The Git branch and tag target
311
+ must be active; integrate `main` before releasing. Docker and `--merge` cannot be
312
+ combined with this target.
313
+
314
+ ```json
315
+ {
316
+ "@git.zone/cli": {
317
+ "release": {
318
+ "targets": {
319
+ "git": { "enabled": true, "remote": "origin", "pushBranch": true, "pushTags": true },
320
+ "giteaAssets": {
321
+ "enabled": true,
322
+ "apiOrigin": "https://code.example.org",
323
+ "owner": "example",
324
+ "repository": "native-cli",
325
+ "tokenEnv": "GITZONE_RELEASE_GITEA_TOKEN",
326
+ "manifestPath": "dist/release-assets.json"
327
+ },
328
+ "npm": { "enabled": true, "registries": ["https://registry.npmjs.org"], "accessLevel": "public" }
329
+ }
330
+ }
331
+ }
332
+ }
333
+ ```
334
+
335
+ The configured HTTPS origin must match the resolved SSH/HTTPS Git host and exact
336
+ owner/repository path. SSH aliases cannot establish that identity. `tokenEnv` is
337
+ the environment variable's name; credentials are never stored in the journal.
338
+ Before Git publication, authenticated and anonymous repository checks require a
339
+ public repository, repository-admin authority, and a PAT with `write:repository`
340
+ scope (or an existing `all` scope). Code-push permission alone is insufficient
341
+ because Gitea grants code and release-unit permissions separately. Configure an
342
+ existing appropriate credential; the CLI does not acquire or broaden tokens.
343
+
344
+ The normal release build generates a strict manifest for the new release version:
345
+
346
+ ```json
347
+ {
348
+ "schemaVersion": 1,
349
+ "version": "1.2.3",
350
+ "assets": [
351
+ { "name": "source.tar.gz", "path": "dist/source.tar.gz", "size": 12345, "sha256": "<64 lowercase hexadecimal characters>" },
352
+ { "name": "native-linux-x64", "path": "dist/native-linux-x64", "size": 23456, "sha256": "<64 lowercase hexadecimal characters>" }
353
+ ]
354
+ }
355
+ ```
356
+
357
+ Replace the example sizes and hashes with the actual file identities. Names and
358
+ paths must be canonical and unique. Regular files and their ancestor directories
359
+ must not be symlinks; credential/runtime paths, traversal and globs are rejected.
360
+ Assets are uploaded in manifest order. Put corresponding source and relinking
361
+ materials before native executables, since public Gitea attachments also
362
+ distribute those binaries.
363
+
364
+ Publication runs build → freeze every artifact → write schema-4 journal → Git →
365
+ Gitea assets → npm. Stored assets use `asset.<sha256-of-name>.bin` filenames next
366
+ to the retained npm archives. The CLI verifies local hashes before Git, then
367
+ inspects or creates the exact public, non-draft, non-prerelease tag release.
368
+ Every upload has a revisioned journal attempt. Each accepted attachment must
369
+ download anonymously with the expected size and SHA256; authenticated redirects
370
+ are rejected and anonymous downloads never carry the token. Transfers and
371
+ hashing stream with bounded memory and timeouts.
372
+
373
+ The complete remote attachment set must equal the manifest. Extra names,
374
+ duplicates, changed release identity, or conflicting bytes stop publication;
375
+ the CLI has no deletion or replacement path. It verifies the complete set again
376
+ before npm. An inconclusive or rejected upload leaves npm unpublished and retains
377
+ the journal for `gitzone release resume <version> -y`. Resume uses the recorded
378
+ destination and retained bytes without rebuilding or repacking, and re-verifies
379
+ public assets even for completed journals. An unresolved active attempt requires
380
+ the exact `--recover-attempt` identifier after its publisher has stopped.
381
+
382
+ Gitea's general attachment-enabled switch is checked. Its issue-attachment size
383
+ setting is distinct from `repository.release.FILE_MAX_SIZE`; confirm the actual
384
+ release and proxy upload limits for the largest planned artifact. A size rejection
385
+ blocks npm and retains the original artifact; archives are never split or replaced
386
+ automatically. The manifest and journal provide exact sizes for this check.
387
+
388
+ Artifact immutability here means conflict refusal by the publisher. Administrators
389
+ can still change server state. Distributors must retain the exact public
390
+ corresponding-source and relinking artifacts while distributing the binaries and
391
+ include those artifacts in their operational retention and backup policy.
392
+ Independent CI publishers must not rebuild, upload, delete, or publish these same
393
+ release assets or packages; keep tag jobs limited to verification.
394
+
306
395
  Independent tag-triggered npm publishers are incompatible with this transaction. GitZone rejects a release while `.gitea/workflows/default_tags.yaml` or `.gitlab-ci.yml` still contains the legacy `npmci npm publish` command. Apply the v6 Gitea workflow template or remove the legacy GitLab job and commit that change first.
307
396
 
308
397
  Inspect and resume without regenerating release identity: