@wtf/release-docs 8.2.1 → 8.2.3
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.
- package/README.md +56 -44
- package/api/@wtf/release-cargo/auth/functions/mask.md +1 -1
- package/api/@wtf/release-cargo/auth/functions/tokenVariableOf.md +1 -1
- package/api/@wtf/release-cargo/auth/functions/trustedPublishing.md +1 -1
- package/api/@wtf/release-cargo/auth/interfaces/HttpResponse.md +5 -5
- package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishing.md +5 -5
- package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishingOptions.md +6 -6
- package/api/@wtf/release-cargo/auth/type-aliases/HttpFetch.md +1 -1
- package/api/@wtf/release-cargo/auth/variables/CRATES_IO_API.md +1 -1
- package/api/@wtf/release-cargo/auth/variables/ID_TOKEN_VARIABLE.md +1 -1
- package/api/@wtf/release-cargo/auth/variables/USER_AGENT.md +1 -1
- package/api/@wtf/release-cargo/crates/functions/publishOrder.md +1 -1
- package/api/@wtf/release-cargo/crates/functions/publishable.md +1 -1
- package/api/@wtf/release-cargo/crates/functions/readWorkspace.md +1 -1
- package/api/@wtf/release-cargo/crates/functions/selectCrates.md +1 -1
- package/api/@wtf/release-cargo/crates/interfaces/Selection.md +5 -5
- package/api/@wtf/release-cargo/ecosystem/functions/packagesAt.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/functions/packagesOfTree.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/functions/packagesOfWorkspace.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/functions/resolveRequirement.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/functions/satisfiesRequirement.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/functions/semverRange.md +1 -1
- package/api/@wtf/release-cargo/ecosystem/interfaces/CargoPackage.md +7 -7
- package/api/@wtf/release-cargo/ecosystem/variables/cargoEcosystem.md +1 -1
- package/api/@wtf/release-cargo/errors/classes/CargoError.md +5 -5
- package/api/@wtf/release-cargo/errors/type-aliases/CargoErrorCode.md +1 -1
- package/api/@wtf/release-cargo/errors/variables/CARGO_ERRORS.md +1 -1
- package/api/@wtf/release-cargo/interfaces/Crate.md +6 -6
- package/api/@wtf/release-cargo/interfaces/CrateDependency.md +6 -6
- package/api/@wtf/release-cargo/interfaces/Workspace.md +3 -3
- package/api/@wtf/release-cargo/publish/functions/publishCrates.md +1 -1
- package/api/@wtf/release-cargo/publish/interfaces/PublishCratesOptions.md +11 -11
- package/api/@wtf/release-cargo/publish/interfaces/PublishedCrate.md +5 -5
- package/api/@wtf/release-cargo/publish/type-aliases/CrateStatus.md +1 -1
- package/api/@wtf/release-cargo/publish/variables/RECHECK_WAITS.md +1 -1
- package/api/@wtf/release-cargo/registry/functions/crateUrl.md +1 -1
- package/api/@wtf/release-cargo/registry/functions/indexHasVersion.md +1 -1
- package/api/@wtf/release-cargo/registry/functions/indexPath.md +1 -1
- package/api/@wtf/release-cargo/registry/variables/CRATES_IO_INDEX.md +1 -1
- package/api/@wtf/release-cargo/stamp/functions/checkVersions.md +1 -1
- package/api/@wtf/release-cargo/stamp/functions/inheritsVersion.md +1 -1
- package/api/@wtf/release-cargo/stamp/functions/stampManifest.md +1 -1
- package/api/@wtf/release-cargo/stamp/functions/stampWorkspace.md +1 -1
- package/api/@wtf/release-cargo/stamp/interfaces/StampOptions.md +4 -4
- package/api/@wtf/release-cargo/stamp/interfaces/Stamped.md +3 -3
- package/api/@wtf/release-cargo/stamp/interfaces/StampedWorkspace.md +3 -3
- package/api/@wtf/release-cargo/type-aliases/DependencyKind.md +1 -1
- package/api/@wtf/release-go/ecosystem/functions/packagesOfModules.md +1 -1
- package/api/@wtf/release-go/ecosystem/functions/packagesOfRepo.md +1 -1
- package/api/@wtf/release-go/ecosystem/functions/resolveVersion.md +1 -1
- package/api/@wtf/release-go/ecosystem/functions/satisfiesVersion.md +1 -1
- package/api/@wtf/release-go/ecosystem/interfaces/GoPackage.md +7 -7
- package/api/@wtf/release-go/ecosystem/variables/goEcosystem.md +1 -1
- package/api/@wtf/release-go/errors/classes/GoError.md +5 -5
- package/api/@wtf/release-go/errors/type-aliases/GoErrorCode.md +1 -1
- package/api/@wtf/release-go/errors/variables/GO_ERRORS.md +1 -1
- package/api/@wtf/release-go/gomod/functions/entriesOf.md +1 -1
- package/api/@wtf/release-go/gomod/functions/linesOf.md +1 -1
- package/api/@wtf/release-go/gomod/functions/readGoMod.md +1 -1
- package/api/@wtf/release-go/gomod/functions/tokensOf.md +1 -1
- package/api/@wtf/release-go/gomod/interfaces/Entry.md +4 -4
- package/api/@wtf/release-go/gomod/interfaces/GoMod.md +4 -4
- package/api/@wtf/release-go/gomod/interfaces/GoReplace.md +6 -6
- package/api/@wtf/release-go/gomod/interfaces/GoRequire.md +4 -4
- package/api/@wtf/release-go/gomod/interfaces/Token.md +5 -5
- package/api/@wtf/release-go/interfaces/GoModule.md +6 -6
- package/api/@wtf/release-go/modules/functions/isFetchable.md +1 -1
- package/api/@wtf/release-go/modules/functions/isGoMod.md +1 -1
- package/api/@wtf/release-go/modules/functions/majorErrors.md +1 -1
- package/api/@wtf/release-go/modules/functions/majorOfPath.md +1 -1
- package/api/@wtf/release-go/modules/functions/modulesAt.md +1 -1
- package/api/@wtf/release-go/modules/functions/modulesOf.md +1 -1
- package/api/@wtf/release-go/modules/functions/readModules.md +1 -1
- package/api/@wtf/release-go/modules/functions/selectModules.md +1 -1
- package/api/@wtf/release-go/modules/interfaces/Selection.md +4 -4
- package/api/@wtf/release-go/stamp/functions/checkVersions.md +1 -1
- package/api/@wtf/release-go/stamp/functions/stampGoMod.md +1 -1
- package/api/@wtf/release-go/stamp/functions/stampModules.md +1 -1
- package/api/@wtf/release-go/stamp/interfaces/Stamped.md +3 -3
- package/api/@wtf/release-go/stamp/interfaces/StampedModules.md +3 -3
- package/api/@wtf/release-go/tags/functions/askProxy.md +1 -1
- package/api/@wtf/release-go/tags/functions/maskCredentials.md +1 -1
- package/api/@wtf/release-go/tags/functions/releaseCommit.md +1 -1
- package/api/@wtf/release-go/tags/functions/remoteTags.md +1 -1
- package/api/@wtf/release-go/tags/functions/tagModules.md +1 -1
- package/api/@wtf/release-go/tags/functions/tagOfModule.md +1 -1
- package/api/@wtf/release-go/tags/functions/tagPrefix.md +1 -1
- package/api/@wtf/release-go/tags/interfaces/TagModulesOptions.md +8 -8
- package/api/@wtf/release-go/tags/interfaces/TaggedModule.md +5 -5
- package/api/@wtf/release-go/tags/type-aliases/ModuleStatus.md +1 -1
- package/api/@wtf/release-go/tags/variables/RELEASE_AUTHOR.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/groupIdOf.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/installsOf.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/isPomFile.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/isRange.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/modulesOf.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/nameOf.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/publishOrder.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/readModules.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/readPoms.md +1 -1
- package/api/@wtf/release-maven/artifacts/functions/selectArtifacts.md +1 -1
- package/api/@wtf/release-maven/artifacts/interfaces/Selection.md +4 -4
- package/api/@wtf/release-maven/ecosystem/functions/compareVersions.md +1 -1
- package/api/@wtf/release-maven/ecosystem/functions/parseRange.md +1 -1
- package/api/@wtf/release-maven/ecosystem/functions/resolveVersion.md +1 -1
- package/api/@wtf/release-maven/ecosystem/functions/satisfiesVersion.md +1 -1
- package/api/@wtf/release-maven/ecosystem/interfaces/Bound.md +3 -3
- package/api/@wtf/release-maven/ecosystem/interfaces/Restriction.md +3 -3
- package/api/@wtf/release-maven/ecosystem/variables/mavenEcosystem.md +1 -1
- package/api/@wtf/release-maven/errors/classes/MavenError.md +5 -5
- package/api/@wtf/release-maven/errors/type-aliases/MavenErrorCode.md +1 -1
- package/api/@wtf/release-maven/errors/variables/MAVEN_ERRORS.md +1 -1
- package/api/@wtf/release-maven/interfaces/MavenModule.md +14 -14
- package/api/@wtf/release-maven/pom/functions/childOf.md +1 -1
- package/api/@wtf/release-maven/pom/functions/childrenOf.md +1 -1
- package/api/@wtf/release-maven/pom/functions/dependencyOf.md +1 -1
- package/api/@wtf/release-maven/pom/functions/escapeXml.md +1 -1
- package/api/@wtf/release-maven/pom/functions/parseXml.md +1 -1
- package/api/@wtf/release-maven/pom/functions/readPom.md +1 -1
- package/api/@wtf/release-maven/pom/functions/textAt.md +1 -1
- package/api/@wtf/release-maven/pom/interfaces/Pom.md +15 -15
- package/api/@wtf/release-maven/pom/interfaces/PomDependency.md +5 -5
- package/api/@wtf/release-maven/pom/interfaces/PomParent.md +4 -4
- package/api/@wtf/release-maven/pom/interfaces/PomPlugin.md +5 -5
- package/api/@wtf/release-maven/pom/interfaces/PomRepository.md +3 -3
- package/api/@wtf/release-maven/pom/interfaces/Span.md +3 -3
- package/api/@wtf/release-maven/pom/interfaces/XmlElement.md +7 -7
- package/api/@wtf/release-maven/pom/variables/PLUGIN_GROUP.md +1 -1
- package/api/@wtf/release-maven/publish/functions/deployModules.md +1 -1
- package/api/@wtf/release-maven/publish/interfaces/DeployModulesOptions.md +11 -11
- package/api/@wtf/release-maven/publish/interfaces/DeployedModule.md +4 -4
- package/api/@wtf/release-maven/publish/type-aliases/ModuleStatus.md +1 -1
- package/api/@wtf/release-maven/repository/functions/deployTargets.md +1 -1
- package/api/@wtf/release-maven/repository/functions/expandValues.md +1 -1
- package/api/@wtf/release-maven/repository/functions/hasPom.md +1 -1
- package/api/@wtf/release-maven/repository/functions/pomPath.md +1 -1
- package/api/@wtf/release-maven/repository/functions/pomUrl.md +1 -1
- package/api/@wtf/release-maven/repository/interfaces/Repository.md +3 -3
- package/api/@wtf/release-maven/repository/interfaces/ValuesOf.md +3 -3
- package/api/@wtf/release-maven/repository/variables/MAVEN_CENTRAL.md +1 -1
- package/api/@wtf/release-maven/stamp/functions/checkVersions.md +1 -1
- package/api/@wtf/release-maven/stamp/functions/stampModules.md +1 -1
- package/api/@wtf/release-maven/stamp/functions/stampPom.md +1 -1
- package/api/@wtf/release-maven/stamp/interfaces/PomStampOptions.md +5 -5
- package/api/@wtf/release-maven/stamp/interfaces/Stamped.md +3 -3
- package/api/@wtf/release-maven/stamp/interfaces/StampedModules.md +3 -3
- package/api/@wtf/release-npm/check/functions/checkPackages.md +1 -1
- package/api/@wtf/release-npm/check/functions/formatIssue.md +1 -1
- package/api/@wtf/release-npm/check/interfaces/CheckOptions.md +6 -6
- package/api/@wtf/release-npm/check/interfaces/Issue.md +5 -5
- package/api/@wtf/release-npm/check/type-aliases/CheckedPackage.md +1 -1
- package/api/@wtf/release-npm/check/type-aliases/IssueCode.md +1 -1
- package/api/@wtf/release-npm/ecosystem/variables/npmEcosystem.md +1 -1
- package/api/@wtf/release-npm/errors/type-aliases/NpmErrorCode.md +1 -1
- package/api/@wtf/release-npm/errors/variables/NPM_ERRORS.md +1 -1
- package/api/@wtf/release-npm/interfaces/Lookup.md +3 -3
- package/api/@wtf/release-npm/interfaces/PublishOptions.md +6 -6
- package/api/@wtf/release-npm/interfaces/PublishPackage.md +5 -5
- package/api/@wtf/release-npm/interfaces/PublishTrainOptions.md +13 -13
- package/api/@wtf/release-npm/interfaces/Publisher.md +7 -7
- package/api/@wtf/release-npm/interfaces/PublisherContext.md +7 -7
- package/api/@wtf/release-npm/manifests/functions/concreteRange.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/manifestsAt.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/packageOf.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/packagesOfManifests.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/readManifests.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/resolveSpecifier.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/runtimeDependenciesOf.md +1 -1
- package/api/@wtf/release-npm/manifests/functions/satisfiesRange.md +1 -1
- package/api/@wtf/release-npm/manifests/interfaces/Manifest.md +5 -5
- package/api/@wtf/release-npm/manifests/interfaces/NpmPackage.md +7 -7
- package/api/@wtf/release-npm/manifests/type-aliases/DependencyField.md +1 -1
- package/api/@wtf/release-npm/manifests/variables/DEPENDENCY_FIELDS.md +1 -1
- package/api/@wtf/release-npm/manifests/variables/FIELD_KINDS.md +1 -1
- package/api/@wtf/release-npm/manifests/variables/RUNTIME_FIELDS.md +1 -1
- package/api/@wtf/release-npm/prepare/functions/isTypeScriptSource.md +1 -1
- package/api/@wtf/release-npm/prepare/functions/prepareManifest.md +1 -1
- package/api/@wtf/release-npm/prepare/functions/stripSourceConditions.md +1 -1
- package/api/@wtf/release-npm/prepare/interfaces/PrepareOptions.md +5 -5
- package/api/@wtf/release-npm/prepare/interfaces/PreparedManifest.md +6 -6
- package/api/@wtf/release-npm/prepare/variables/SOURCE_CONDITIONS.md +1 -1
- package/api/@wtf/release-npm/publishers/functions/builtInPublisher.md +1 -1
- package/api/@wtf/release-npm/publishers/functions/isPublisher.md +1 -1
- package/api/@wtf/release-npm/publishers/variables/NPM_REGISTRY.md +1 -1
- package/api/@wtf/release-npm/publishers/variables/PUBLISHERS.md +1 -1
- package/api/@wtf/release-npm/publishers/variables/npmPublisher.md +1 -1
- package/api/@wtf/release-npm/publishers/variables/pnpmPublisher.md +1 -1
- package/api/@wtf/release-npm/release/functions/checkTrain.md +1 -1
- package/api/@wtf/release-npm/release/functions/distTagOf.md +1 -1
- package/api/@wtf/release-npm/release/functions/packTrain.md +1 -1
- package/api/@wtf/release-npm/release/functions/publishPacked.md +1 -1
- package/api/@wtf/release-npm/release/functions/publishTrain.md +1 -1
- package/api/@wtf/release-npm/release/functions/publishedOf.md +1 -1
- package/api/@wtf/release-npm/release/functions/publishedOfResolved.md +1 -1
- package/api/@wtf/release-npm/release/functions/releaseTrain.md +1 -1
- package/api/@wtf/release-npm/release/functions/resolveManifests.md +1 -1
- package/api/@wtf/release-npm/release/functions/tagTrain.md +1 -1
- package/api/@wtf/release-npm/release/interfaces/CheckRelease.md +16 -16
- package/api/@wtf/release-npm/release/interfaces/PackOptions.md +8 -8
- package/api/@wtf/release-npm/release/interfaces/PackedTrain.md +12 -12
- package/api/@wtf/release-npm/release/interfaces/PublishRun.md +11 -11
- package/api/@wtf/release-npm/release/interfaces/PublishedOf.md +4 -4
- package/api/@wtf/release-npm/release/interfaces/PublishedPackage.md +7 -7
- package/api/@wtf/release-npm/release/interfaces/PublishedTrain.md +5 -5
- package/api/@wtf/release-npm/release/interfaces/ResolveRelease.md +17 -17
- package/api/@wtf/release-npm/release/interfaces/ResolvedPackage.md +4 -4
- package/api/@wtf/release-npm/release/interfaces/ResolvedTrain.md +6 -6
- package/api/@wtf/release-npm/release/interfaces/TagRelease.md +14 -14
- package/api/@wtf/release-npm/release/type-aliases/LookedUpTrain.md +1 -1
- package/api/@wtf/release-npm/release/type-aliases/ReleaseRun.md +1 -1
- package/api/@wtf/release-npm/release/variables/ID_TOKENS.md +1 -1
- package/api/@wtf/release-npm/release/variables/RUNNER_ENVIRONMENTS.md +1 -1
- package/api/@wtf/release-npm/workspace/functions/pnpmWorkspaceGlobs.md +1 -1
- package/api/@wtf/release-npm/workspace/functions/publishableOf.md +1 -1
- package/api/@wtf/release-npm/workspace/functions/readWorkspace.md +1 -1
- package/api/@wtf/release-npm/workspace/functions/workspaceFolders.md +1 -1
- package/api/@wtf/release-npm/workspace/functions/workspaceGlobs.md +1 -1
- package/api/@wtf/release-npm/workspace/interfaces/WorkspaceGlobs.md +3 -3
- package/api/@wtf/release-npm/workspace/interfaces/WorkspaceOptions.md +2 -2
- package/api/@wtf/release-replace/errors/classes/ReplaceError.md +5 -5
- package/api/@wtf/release-replace/errors/type-aliases/ReplaceErrorCode.md +1 -1
- package/api/@wtf/release-replace/errors/variables/REPLACE_ERRORS.md +1 -1
- package/api/@wtf/release-replace/files/functions/filesMatcher.md +1 -1
- package/api/@wtf/release-replace/interfaces/ReplaceMatch.md +5 -5
- package/api/@wtf/release-replace/interfaces/ReplacementOf.md +5 -5
- package/api/@wtf/release-replace/replace/functions/regExpOf.md +1 -1
- package/api/@wtf/release-replace/replace/functions/replaceFiles.md +1 -1
- package/api/@wtf/release-replace/replace/functions/replaceText.md +1 -1
- package/api/@wtf/release-replace/replace/interfaces/ReplaceOptions.md +10 -10
- package/api/@wtf/release-replace/replace/interfaces/TextOptions.md +5 -5
- package/api/@wtf/release-replace/replace/type-aliases/To.md +1 -1
- package/api/@wtf/release-replace/templates/functions/mergeTemplates.md +1 -1
- package/api/@wtf/release-replace/templates/functions/resolveReplacement.md +1 -1
- package/api/@wtf/release-replace/templates/functions/resolveReplacements.md +1 -1
- package/api/@wtf/release-replace/type-aliases/Escape.md +1 -1
- package/api/@wtf/release-replace/type-aliases/ReplaceFunction.md +1 -1
- package/api/@wtf/release-replace/type-aliases/Replacement.md +1 -1
- package/api/@wtf/release-replace/type-aliases/ReplacementSpec.md +1 -1
- package/api/@wtf/release-replace/type-aliases/TemplateUse.md +1 -1
- package/api/@wtf/release-replace/type-aliases/Templates.md +1 -1
- package/api/@wtf/release-replace/values/functions/escapeValue.md +1 -1
- package/api/@wtf/release-replace/values/functions/textOf.md +1 -1
- package/api/@wtf/release-replace/values/functions/valueAt.md +1 -1
- package/api/@wtf/release-replace/values/variables/ESCAPES.md +1 -1
- package/api/@wtf/release-replace/values/variables/VALUE.md +1 -1
- package/api/@wtf/release-system/errors/classes/ReleaseError.md +5 -5
- package/api/@wtf/release-system/errors/functions/throwAll.md +1 -1
- package/api/@wtf/release-system/errors/type-aliases/ErrorClass.md +1 -1
- package/api/@wtf/release-system/errors/type-aliases/SystemErrorCode.md +1 -1
- package/api/@wtf/release-system/errors/variables/SYSTEM_ERRORS.md +1 -1
- package/api/@wtf/release-system/git/functions/commitsSince.md +1 -1
- package/api/@wtf/release-system/git/functions/filesOfCommits.md +1 -1
- package/api/@wtf/release-system/git/functions/git.md +1 -1
- package/api/@wtf/release-system/git/functions/gitOf.md +1 -1
- package/api/@wtf/release-system/git/functions/trackedFiles.md +1 -1
- package/api/@wtf/release-system/git/interfaces/GitContext.md +4 -4
- package/api/@wtf/release-system/git/interfaces/LogCommit.md +5 -5
- package/api/@wtf/release-system/node/functions/nodeSystem.md +1 -1
- package/api/@wtf/release-system/node/functions/realPathOf.md +1 -1
- package/api/@wtf/release-system/node/functions/systemOf.md +1 -1
- package/api/@wtf/release-system/paths/functions/normalizePath.md +1 -1
- package/api/@wtf/release-system/paths/functions/pathMatcher.md +1 -1
- package/api/@wtf/release-system/paths/type-aliases/PathMatcher.md +1 -1
- package/api/@wtf/release-system/posix/functions/basenameOf.md +1 -1
- package/api/@wtf/release-system/posix/functions/dirnameOf.md +1 -1
- package/api/@wtf/release-system/posix/functions/joinPath.md +1 -1
- package/api/@wtf/release-system/posix/functions/relativePath.md +1 -1
- package/api/@wtf/release-system/posix/functions/resolvePath.md +1 -1
- package/api/@wtf/release-system/system/interfaces/DirEntry.md +3 -3
- package/api/@wtf/release-system/system/interfaces/ExecOptions.md +4 -4
- package/api/@wtf/release-system/system/interfaces/ExecResult.md +4 -4
- package/api/@wtf/release-system/system/interfaces/System.md +7 -7
- package/api/@wtf/release-system/system/interfaces/SystemFs.md +8 -8
- package/api/@wtf/release-system/system/type-aliases/Exec.md +1 -1
- package/api/@wtf/release-system/system/type-aliases/SystemInput.md +1 -1
- package/api/@wtf/release-system/validator/functions/allOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/anyObject.md +1 -1
- package/api/@wtf/release-system/validator/functions/anyOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/arrayOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/booleanOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/errorOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/errorsOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/exclusive.md +1 -1
- package/api/@wtf/release-system/validator/functions/issuesOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/objectOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/oneOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/orFunction.md +1 -1
- package/api/@wtf/release-system/validator/functions/pathText.md +1 -1
- package/api/@wtf/release-system/validator/functions/pluginEntriesOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/recordOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/refined.md +1 -1
- package/api/@wtf/release-system/validator/functions/stringOf.md +1 -1
- package/api/@wtf/release-system/validator/functions/tupleOf.md +1 -1
- package/api/@wtf/release-system/validator/interfaces/ArrayOptions.md +5 -5
- package/api/@wtf/release-system/validator/interfaces/IssueOptions.md +4 -4
- package/api/@wtf/release-system/validator/interfaces/ObjectOptions.md +5 -5
- package/api/@wtf/release-system/validator/interfaces/OptionIssue.md +4 -4
- package/api/@wtf/release-system/validator/interfaces/Property.md +4 -4
- package/api/@wtf/release-system/validator/interfaces/RecordOptions.md +6 -6
- package/api/@wtf/release-system/validator/interfaces/StringOptions.md +6 -6
- package/api/@wtf/release-system/validator/interfaces/Validator.md +4 -4
- package/api/@wtf/release-system/validator/type-aliases/JsonSchema.md +1 -1
- package/api/@wtf/release-system/validator/type-aliases/Path.md +1 -1
- package/api/@wtf/release-trains/cascade/functions/cascadeNotes.md +1 -1
- package/api/@wtf/release-trains/cascade/functions/cascadeText.md +1 -1
- package/api/@wtf/release-trains/cascade/functions/cascadeType.md +1 -1
- package/api/@wtf/release-trains/cascade/functions/cascadesOf.md +1 -1
- package/api/@wtf/release-trains/cascade/functions/higherType.md +1 -1
- package/api/@wtf/release-trains/cascade/interfaces/Cascade.md +11 -11
- package/api/@wtf/release-trains/cascade/interfaces/CascadeCheck.md +8 -8
- package/api/@wtf/release-trains/cascade/type-aliases/CascadeKind.md +1 -1
- package/api/@wtf/release-trains/cascade/type-aliases/ReleaseType.md +1 -1
- package/api/@wtf/release-trains/cascade/variables/RELEASE_TYPES.md +1 -1
- package/api/@wtf/release-trains/ecosystem/functions/isEcosystem.md +1 -1
- package/api/@wtf/release-trains/ecosystem/functions/loadEcosystems.md +1 -1
- package/api/@wtf/release-trains/ecosystem/functions/readPackages.md +1 -1
- package/api/@wtf/release-trains/ecosystem/interfaces/Dependency.md +4 -4
- package/api/@wtf/release-trains/ecosystem/interfaces/Ecosystem.md +5 -5
- package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemContext.md +5 -5
- package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemPackages.md +3 -3
- package/api/@wtf/release-trains/ecosystem/interfaces/Package.md +6 -6
- package/api/@wtf/release-trains/ecosystem/type-aliases/DependencyKind.md +1 -1
- package/api/@wtf/release-trains/ecosystem/type-aliases/ModuleLoader.md +1 -1
- package/api/@wtf/release-trains/ecosystem/variables/DEPENDENCY_KINDS.md +1 -1
- package/api/@wtf/release-trains/errors/classes/TrainsError.md +5 -5
- package/api/@wtf/release-trains/errors/type-aliases/TrainsErrorCode.md +1 -1
- package/api/@wtf/release-trains/errors/variables/TRAINS_ERRORS.md +1 -1
- package/api/@wtf/release-trains/generated/functions/filesIn.md +1 -1
- package/api/@wtf/release-trains/generated/functions/formatGenerated.md +1 -1
- package/api/@wtf/release-trains/generated/functions/listGenerated.md +1 -1
- package/api/@wtf/release-trains/generated/functions/parseGenerated.md +1 -1
- package/api/@wtf/release-trains/generated/functions/readGenerated.md +1 -1
- package/api/@wtf/release-trains/generated/functions/stageGenerated.md +1 -1
- package/api/@wtf/release-trains/generated/functions/stageGeneratedFolders.md +1 -1
- package/api/@wtf/release-trains/generated/functions/unlistedIn.md +1 -1
- package/api/@wtf/release-trains/generated/interfaces/GeneratedOptions.md +2 -2
- package/api/@wtf/release-trains/generated/interfaces/StageOptions.md +6 -6
- package/api/@wtf/release-trains/generated/variables/GENERATED.md +1 -1
- package/api/@wtf/release-trains/git/functions/tagOf.md +1 -1
- package/api/@wtf/release-trains/git/functions/tagsOf.md +1 -1
- package/api/@wtf/release-trains/git/functions/versionOfTag.md +1 -1
- package/api/@wtf/release-trains/git/interfaces/TrainTag.md +3 -3
- package/api/@wtf/release-trains/interfaces/Train.md +7 -7
- package/api/@wtf/release-trains/packages/functions/dependencyEdges.md +1 -1
- package/api/@wtf/release-trains/packages/functions/dependencyText.md +1 -1
- package/api/@wtf/release-trains/packages/functions/dependsOnErrors.md +1 -1
- package/api/@wtf/release-trains/packages/functions/normalizeDir.md +1 -1
- package/api/@wtf/release-trains/packages/functions/ownersOf.md +1 -1
- package/api/@wtf/release-trains/packages/functions/packagesOf.md +1 -1
- package/api/@wtf/release-trains/packages/functions/publishOrder.md +1 -1
- package/api/@wtf/release-trains/packages/functions/releasedVersions.md +1 -1
- package/api/@wtf/release-trains/packages/functions/trainDependencies.md +1 -1
- package/api/@wtf/release-trains/packages/functions/trainOrder.md +1 -1
- package/api/@wtf/release-trains/packages/functions/unsatisfiedErrors.md +1 -1
- package/api/@wtf/release-trains/packages/interfaces/DependencyEdge.md +6 -6
- package/api/@wtf/release-trains/packages/interfaces/OrderFault.md +4 -4
- package/api/@wtf/release-trains/packages/interfaces/OrderPins.md +3 -3
- package/api/@wtf/release-trains/packages/interfaces/PublishOrder.md +3 -3
- package/api/@wtf/release-trains/packages/interfaces/TrainDependency.md +3 -3
- package/api/@wtf/release-trains/packages/interfaces/VersionsRelease.md +7 -7
- package/api/@wtf/release-trains/paths/functions/filterCommits.md +1 -1
- package/api/@wtf/release-trains/paths/functions/gitFilesOf.md +1 -1
- package/api/@wtf/release-trains/paths/functions/overlapError.md +1 -1
- package/api/@wtf/release-trains/paths/functions/trainOfPath.md +1 -1
- package/api/@wtf/release-trains/paths/functions/trainsOfCommit.md +1 -1
- package/api/@wtf/release-trains/paths/functions/trainsOfPath.md +1 -1
- package/api/@wtf/release-trains/paths/type-aliases/FilesOf.md +1 -1
- package/api/@wtf/release-trains/schema/interfaces/ConfigPart.md +6 -6
- package/api/@wtf/release-trains/schema/interfaces/RootOptions.md +7 -7
- package/api/@wtf/release-trains/schema/type-aliases/DependencyRule.md +1 -1
- package/api/@wtf/release-trains/schema/variables/DEPENDENCY_RULES.md +1 -1
- package/api/@wtf/release-trains/schema/variables/TAG_FORMAT_PATTERN.md +1 -1
- package/api/@wtf/release-trains/schema/variables/TRAIN_NAME_PATTERN.md +1 -1
- package/api/@wtf/release-trains/schema/variables/configSchema.md +1 -1
- package/api/@wtf/release-trains/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/release-trains/schema/variables/rootOptionsSchema.md +1 -1
- package/api/@wtf/release-trains/schema/variables/trainSchema.md +1 -1
- package/api/@wtf/release-trains/schema/variables/trainsSchema.md +1 -1
- package/api/@wtf/release-trains/trains/functions/changelogOf.md +1 -1
- package/api/@wtf/release-trains/trains/functions/matchersOf.md +1 -1
- package/api/@wtf/release-trains/trains/functions/overlapErrors.md +1 -1
- package/api/@wtf/release-trains/trains/functions/selectTrain.md +1 -1
- package/api/@wtf/release-trains/trains/functions/tagFormatOf.md +1 -1
- package/api/@wtf/release-trains/trains/functions/trainHeadedNotes.md +1 -1
- package/api/@wtf/release-trains/trains/functions/trainOfRun.md +1 -1
- package/api/@wtf/release-trains/trains/functions/trainOfTag.md +1 -1
- package/api/@wtf/release-trains/trains/functions/trainsErrors.md +1 -1
- package/api/@wtf/release-trains/trains/functions/trainsOfOptions.md +1 -1
- package/api/@wtf/release-trains/trains/variables/TRAIN_VARIABLE.md +1 -1
- package/api/@wtf/release-trains/trains/variables/VERSION.md +1 -1
- package/api/@wtf/release-trains/type-aliases/BranchSpec.md +1 -1
- package/api/@wtf/release-trains/type-aliases/Trains.md +1 -1
- package/api/@wtf/release-trains/verify/functions/unreleasedDependencies.md +1 -1
- package/api/@wtf/release-trains/verify/functions/verifyTrain.md +1 -1
- package/api/@wtf/release-trains/verify/interfaces/UnreleasedDependencies.md +10 -10
- package/api/@wtf/release-trains/verify/interfaces/VerifiedTrain.md +5 -5
- package/api/@wtf/release-trains/verify/interfaces/VerifyRelease.md +8 -8
- package/api/@wtf/release-validate/errors/classes/ValidateError.md +5 -5
- package/api/@wtf/release-validate/errors/type-aliases/ValidateErrorCode.md +1 -1
- package/api/@wtf/release-validate/errors/variables/VALIDATE_ERRORS.md +1 -1
- package/api/@wtf/release-validate/interfaces/ConfigIssue.md +4 -4
- package/api/@wtf/release-validate/json-schema/functions/fromJsonSchema.md +1 -1
- package/api/@wtf/release-validate/json-schema/functions/pathOfPointer.md +1 -1
- package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaError.md +3 -3
- package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaValidator.md +3 -3
- package/api/@wtf/release-validate/validate/functions/configErrors.md +1 -1
- package/api/@wtf/release-validate/validate/functions/isStandardSchema.md +1 -1
- package/api/@wtf/release-validate/validate/functions/pathText.md +1 -1
- package/api/@wtf/release-validate/validate/functions/validateConfig.md +1 -1
- package/api/@wtf/semantic-release-cargo/functions/indexLookup.md +1 -1
- package/api/@wtf/semantic-release-cargo/functions/prepare.md +1 -1
- package/api/@wtf/semantic-release-cargo/functions/publish.md +1 -1
- package/api/@wtf/semantic-release-cargo/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-cargo/interfaces/CargoPluginOptions.md +12 -12
- package/api/@wtf/semantic-release-cargo/interfaces/CargoRelease.md +3 -3
- package/api/@wtf/semantic-release-cargo/schema/type-aliases/CargoOptions.md +1 -1
- package/api/@wtf/semantic-release-cargo/schema/variables/cargoOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-cargo/schema/variables/cargoSchema.md +1 -1
- package/api/@wtf/semantic-release-cargo/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-cargo/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-cargo/variables/default.md +1 -1
- package/api/@wtf/semantic-release-go/functions/prepare.md +1 -1
- package/api/@wtf/semantic-release-go/functions/publish.md +1 -1
- package/api/@wtf/semantic-release-go/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-go/functions/verifyRelease.md +1 -1
- package/api/@wtf/semantic-release-go/interfaces/GoPluginOptions.md +8 -8
- package/api/@wtf/semantic-release-go/interfaces/GoRelease.md +3 -3
- package/api/@wtf/semantic-release-go/schema/type-aliases/GoOptions.md +1 -1
- package/api/@wtf/semantic-release-go/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-go/schema/variables/goOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-go/schema/variables/goSchema.md +1 -1
- package/api/@wtf/semantic-release-go/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-go/variables/default.md +1 -1
- package/api/@wtf/semantic-release-maven/functions/pomLookup.md +1 -1
- package/api/@wtf/semantic-release-maven/functions/prepare.md +1 -1
- package/api/@wtf/semantic-release-maven/functions/publish.md +1 -1
- package/api/@wtf/semantic-release-maven/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-maven/interfaces/LookupAuth.md +3 -3
- package/api/@wtf/semantic-release-maven/interfaces/MavenPluginOptions.md +12 -12
- package/api/@wtf/semantic-release-maven/interfaces/MavenRelease.md +2 -2
- package/api/@wtf/semantic-release-maven/schema/type-aliases/MavenOptions.md +1 -1
- package/api/@wtf/semantic-release-maven/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-maven/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-maven/schema/variables/mavenOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-maven/schema/variables/mavenSchema.md +1 -1
- package/api/@wtf/semantic-release-maven/variables/default.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/addChannel.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/fail.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/loadPublisher.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/prepare.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/publish.md +1 -1
- package/api/@wtf/semantic-release-npm/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-npm/interfaces/PublishPluginOptions.md +18 -18
- package/api/@wtf/semantic-release-npm/interfaces/PublishedRelease.md +4 -4
- package/api/@wtf/semantic-release-npm/interfaces/SmokeOption.md +2 -2
- package/api/@wtf/semantic-release-npm/schema/type-aliases/PublishOptions.md +1 -1
- package/api/@wtf/semantic-release-npm/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-npm/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-npm/schema/variables/publishOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-npm/schema/variables/publishSchema.md +1 -1
- package/api/@wtf/semantic-release-npm/type-aliases/PublisherSpec.md +1 -1
- package/api/@wtf/semantic-release-npm/variables/default.md +1 -1
- package/api/@wtf/semantic-release-replace/functions/functionOf.md +1 -1
- package/api/@wtf/semantic-release-replace/functions/prepare.md +1 -1
- package/api/@wtf/semantic-release-replace/functions/templatesOf.md +1 -1
- package/api/@wtf/semantic-release-replace/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-replace/interfaces/ReplacePluginOptions.md +5 -5
- package/api/@wtf/semantic-release-replace/schema/interfaces/ModuleExport.md +3 -3
- package/api/@wtf/semantic-release-replace/schema/interfaces/ReplaceOptions.md +4 -4
- package/api/@wtf/semantic-release-replace/schema/interfaces/RootTemplates.md +2 -2
- package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacement.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacementSpec.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTemplates.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTo.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplateSet.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplatesOption.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/exportedSetSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/replaceOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/replacementSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/rootTemplatesSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/templateSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/schema/variables/templatesSchema.md +1 -1
- package/api/@wtf/semantic-release-replace/variables/default.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/skipPlugins.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/stepId.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/trainAssets.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/trainChangelog.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/trainOfTag.md +1 -1
- package/api/@wtf/semantic-release-trains/config/functions/trainTagFormat.md +1 -1
- package/api/@wtf/semantic-release-trains/config/interfaces/AssetsOptions.md +4 -4
- package/api/@wtf/semantic-release-trains/config/interfaces/SkipOptions.md +3 -3
- package/api/@wtf/semantic-release-trains/config/variables/BRANCHES.md +1 -1
- package/api/@wtf/semantic-release-trains/config/variables/BREAKING.md +1 -1
- package/api/@wtf/semantic-release-trains/config/variables/TITLE.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/functions/skipRuleOf.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/functions/skips.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/functions/trainOptionsOf.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/interfaces/SkipContext.md +5 -5
- package/api/@wtf/semantic-release-trains/defaults/type-aliases/SkipCheck.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/type-aliases/TrainOptions.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/variables/SKIP_RULES.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_OPTIONS.md +1 -1
- package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_SKIP.md +1 -1
- package/api/@wtf/semantic-release-trains/errors/type-aliases/PluginErrorCode.md +1 -1
- package/api/@wtf/semantic-release-trains/errors/variables/PLUGIN_ERRORS.md +1 -1
- package/api/@wtf/semantic-release-trains/info/functions/decideTrain.md +1 -1
- package/api/@wtf/semantic-release-trains/info/functions/dotenvOf.md +1 -1
- package/api/@wtf/semantic-release-trains/info/functions/infoOf.md +1 -1
- package/api/@wtf/semantic-release-trains/info/interfaces/DecideRun.md +4 -4
- package/api/@wtf/semantic-release-trains/info/interfaces/InfoRun.md +8 -8
- package/api/@wtf/semantic-release-trains/info/interfaces/TrainDecision.md +5 -5
- package/api/@wtf/semantic-release-trains/info/interfaces/TrainInfo.md +5 -5
- package/api/@wtf/semantic-release-trains/interfaces/TrainsEntryOptions.md +5 -5
- package/api/@wtf/semantic-release-trains/interfaces/TrainsOptions.md +7 -7
- package/api/@wtf/semantic-release-trains/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-trains/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-trains/schema/variables/pluginSpecSchema.md +1 -1
- package/api/@wtf/semantic-release-trains/schema/variables/skipRuleSchema.md +1 -1
- package/api/@wtf/semantic-release-trains/schema/variables/trainsEntrySchema.md +1 -1
- package/api/@wtf/semantic-release-trains/schema/variables/trainsPluginSchema.md +1 -1
- package/api/@wtf/semantic-release-trains/type-aliases/PluginSpec.md +1 -1
- package/api/@wtf/semantic-release-trains/type-aliases/TrainsPluginOptions.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/addChannel.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/analyzeCommits.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/default.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/fail.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/generateNotes.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/prepare.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/publish.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/success.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-trains/variables/verifyRelease.md +1 -1
- package/api/@wtf/semantic-release-validate/functions/configOf.md +1 -1
- package/api/@wtf/semantic-release-validate/functions/loadSchema.md +1 -1
- package/api/@wtf/semantic-release-validate/functions/verifyConditions.md +1 -1
- package/api/@wtf/semantic-release-validate/interfaces/ValidatePluginOptions.md +2 -2
- package/api/@wtf/semantic-release-validate/schema/interfaces/Validator.md +2 -2
- package/api/@wtf/semantic-release-validate/schema/variables/configSchema.md +1 -1
- package/api/@wtf/semantic-release-validate/schema/variables/jsonSchema.md +1 -1
- package/api/@wtf/semantic-release-validate/schema/variables/validateOptionsSchema.md +1 -1
- package/api/@wtf/semantic-release-validate/variables/default.md +1 -1
- package/guides/changelogs.md +39 -28
- package/guides/ci-recipes.md +393 -271
- package/guides/configuring-trains.md +291 -203
- package/guides/dependency-rules.md +171 -113
- package/guides/ecosystems.md +222 -156
- package/guides/getting-started.md +135 -69
- package/guides/publishing-crates.md +208 -143
- package/guides/publishing-go-modules.md +170 -110
- package/guides/publishing-maven.md +197 -123
- package/guides/publishing.md +278 -191
- package/guides/system.md +50 -34
- package/guides/troubleshooting.md +358 -92
- package/guides/validating-a-config.md +81 -56
- package/package.json +1 -1
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Publish Cargo crates
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
`package.json`: a crate is a package of `cargo metadata`, so the plugin is a plugin of its own,
|
|
10
|
-
listed beside `@wtf/semantic-release-npm`, not a publisher of it.
|
|
3
|
+
[`@wtf/semantic-release-cargo`](../../semantic-release-cargo/README.md) publishes the crates of a
|
|
4
|
+
Cargo workspace that belong to a train. Use it when a train holds Rust crates, alone or beside npm
|
|
5
|
+
packages in the same release. The crates and the packages share one version and one tag, and a
|
|
6
|
+
retry finishes a release that stopped. In a workspace with several trains, each train's release
|
|
7
|
+
publishes its own crates. A crate that depends on a crate in another train gets that train's last
|
|
8
|
+
release.
|
|
11
9
|
|
|
12
|
-
`@wtf/release-cargo`
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
as the packages of npm ([Ecosystems](ecosystems.md)): which train holds each crate, the order of the
|
|
16
|
-
trains, the checks of a release, and the releases a train owes the trains it depends on.
|
|
10
|
+
The plugin runs on the library [`@wtf/release-cargo`](../../release-cargo/README.md). Neither of
|
|
11
|
+
them reads a `package.json`: a crate is a package that `cargo metadata` reports. So the cargo plugin
|
|
12
|
+
is a plugin of its own, listed beside `@wtf/semantic-release-npm`, and not a publisher for it.
|
|
17
13
|
|
|
18
|
-
|
|
14
|
+
The library's default export is the cargo ecosystem, and the plugin exports the same ecosystem at
|
|
15
|
+
`./ecosystem`. Add `'@wtf/semantic-release-cargo/ecosystem'` to `ecosystems` in your config. The
|
|
16
|
+
trains then treat crates the same way as npm packages: they decide which train holds each crate,
|
|
17
|
+
the order of the trains, the checks of a release, and the releases a train owes the trains it
|
|
18
|
+
depends on. See [How ecosystems work](ecosystems.md).
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
## Turn it on
|
|
21
|
+
|
|
22
|
+
### Keep a placeholder version in each manifest
|
|
23
|
+
|
|
24
|
+
The tag holds the version, and git holds no version. Each `Cargo.toml` in the workspace keeps a
|
|
25
|
+
placeholder, `0.0.0-development`, as each `package.json` in an npm train does.
|
|
26
|
+
`[workspace.package]` holds the version that the crates of one train inherit:
|
|
23
27
|
|
|
24
28
|
```toml
|
|
25
29
|
[workspace.package]
|
|
@@ -29,22 +33,26 @@ version = "0.0.0-development"
|
|
|
29
33
|
runtime = { path = "crates/runtime", version = "0.0.0-development" }
|
|
30
34
|
```
|
|
31
35
|
|
|
32
|
-
A crate that depends on another by a path writes the `version` too
|
|
33
|
-
crate by
|
|
34
|
-
|
|
36
|
+
A crate that depends on another crate by a path writes the `version` too. A registry installs the
|
|
37
|
+
crate by that version, and `cargo publish` refuses a path alone. The tag's run writes the tag's
|
|
38
|
+
version into each manifest and publishes. The job then throws the working tree away.
|
|
39
|
+
|
|
40
|
+
### Add the cargo ecosystem
|
|
35
41
|
|
|
36
|
-
A crate
|
|
37
|
-
hold its `package.json
|
|
38
|
-
config, as `@wtf/semantic-release-npm` does.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
A crate belongs to the train whose `paths` hold its folder, as a package belongs to the train whose
|
|
43
|
+
paths hold its `package.json`. The plugin reads `trains`, `ecosystems` and `train` from the root of
|
|
44
|
+
the config, as `@wtf/semantic-release-npm` does. No release publishes a crate that belongs to no
|
|
45
|
+
train, such as an example or a tool.
|
|
46
|
+
|
|
47
|
+
`ecosystems` must list the cargo ecosystem: the plugin's `'@wtf/semantic-release-cargo/ecosystem'`
|
|
48
|
+
or `'@wtf/release-cargo'`. Otherwise the trains read no crate, and the plugin fails in
|
|
49
|
+
`verifyConditions` with `ECARGOECOSYSTEM`. Add it, as
|
|
42
50
|
`ecosystems: ['@wtf/semantic-release-npm/ecosystem', '@wtf/semantic-release-cargo/ecosystem']`.
|
|
43
51
|
|
|
44
|
-
|
|
52
|
+
### List the plugin in the tag's run
|
|
45
53
|
|
|
46
|
-
The branch run decides the version and pushes the tag, as for any train. The run
|
|
47
|
-
|
|
54
|
+
The branch run decides the version and pushes the tag, as for any train. The tag's run is the job
|
|
55
|
+
that publishes. List the plugin there:
|
|
48
56
|
|
|
49
57
|
```js norun
|
|
50
58
|
// release.config.mjs
|
|
@@ -57,21 +65,44 @@ export const tagPlugins = [
|
|
|
57
65
|
]
|
|
58
66
|
```
|
|
59
67
|
|
|
60
|
-
The order
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
The order follows the registries: crates first, then npm, then the GitLab or GitHub release. A crate
|
|
69
|
+
depends on nothing in npm, and an npm package may embed a build of the crates. So when the crates
|
|
70
|
+
fail, the release publishes no npm package whose crates are missing.
|
|
71
|
+
|
|
72
|
+
### What the jobs need
|
|
73
|
+
|
|
74
|
+
The tag's job needs `cargo` and a credential for the registry: see
|
|
75
|
+
[Authenticate to the registry](#authenticate-to-the-registry).
|
|
63
76
|
|
|
64
|
-
The
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
`tar`.
|
|
77
|
+
The branch jobs need `cargo` too, when `ecosystems` names the cargo ecosystem and the repo has a
|
|
78
|
+
`Cargo.toml` at its root. The trains read the crates with `cargo metadata`, both in the working tree
|
|
79
|
+
and at the commit of a train's last release. For that commit, they export the files with
|
|
80
|
+
`git archive` into a temporary folder and unpack them with `tar`.
|
|
69
81
|
|
|
70
|
-
##
|
|
82
|
+
## What a release does
|
|
71
83
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
84
|
+
1. **`verifyConditions`** checks the options and reads the workspace with `cargo metadata`. It
|
|
85
|
+
selects the crates that the release publishes and puts them in dependency order. It reads each
|
|
86
|
+
other train's last release from its tags. It checks the credentials. A workspace that cannot be
|
|
87
|
+
published fails here, before the tag (see
|
|
88
|
+
[When crates depend on other trains](#when-crates-depend-on-other-trains)).
|
|
89
|
+
2. **`prepare`** writes the versions into the manifests: the release's version into the train's
|
|
90
|
+
crates, and each other train's last release into that train's crates and into each dependency on
|
|
91
|
+
them. It then reads the workspace again. A crate that is not at its train's version fails the run
|
|
92
|
+
(see [What the stamp does not read](#what-the-stamp-does-not-read)).
|
|
93
|
+
3. **`publish`** asks the registry's sparse index which crates it already has, and skips them. It
|
|
94
|
+
publishes the rest in dependency order with `cargo publish`. cargo waits for each crate to appear
|
|
95
|
+
in the index before the next one, so the crates of a release can install each other.
|
|
96
|
+
|
|
97
|
+
A dry run of semantic-release runs only `verifyConditions`. It writes no version and publishes
|
|
98
|
+
nothing.
|
|
99
|
+
|
|
100
|
+
## When crates depend on other trains
|
|
101
|
+
|
|
102
|
+
A workspace can be released in several trains. Each train has its own crates, version and tags, and
|
|
103
|
+
its crates can depend on other trains' crates by a path. For example: a runtime, codecs over it, and
|
|
104
|
+
a client over both. Each crate names its dependencies in `[workspace.dependencies]`, with a path and
|
|
105
|
+
the placeholder:
|
|
75
106
|
|
|
76
107
|
```toml
|
|
77
108
|
[workspace.package]
|
|
@@ -84,10 +115,11 @@ codec = { path = "crates/codec", version = "0.0.0-development" }
|
|
|
84
115
|
kafka = { path = "crates/kafka", version = "0.0.0-development" }
|
|
85
116
|
```
|
|
86
117
|
|
|
87
|
-
The trains read the crates
|
|
88
|
-
train's crates, by a normal or a build dependency, releases after
|
|
89
|
-
that depends on a package
|
|
90
|
-
|
|
118
|
+
The trains read the crates through the cargo ecosystem. A train whose crates depend on another
|
|
119
|
+
train's crates, by a normal or a build dependency, releases after that train. This works as it does
|
|
120
|
+
for an npm package that depends on a package in another train, and you do not need `dependsOn`. Name
|
|
121
|
+
a train in `dependsOn` only for what no crate says, such as a docs train whose crate depends on none
|
|
122
|
+
of them:
|
|
91
123
|
|
|
92
124
|
```js norun
|
|
93
125
|
// release.config.mjs
|
|
@@ -101,82 +133,103 @@ export const trains = {
|
|
|
101
133
|
export const ecosystems = ['@wtf/semantic-release-cargo/ecosystem']
|
|
102
134
|
```
|
|
103
135
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
release
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
### What versions the release writes
|
|
137
|
+
|
|
138
|
+
A train's release writes its own version into its crates. For each other train, it writes the last
|
|
139
|
+
release whose tag the tagged commit holds, into that train's crates and into each dependency on
|
|
140
|
+
them. An npm package's `workspace:` range on another train works the same way. For example, the
|
|
141
|
+
release `kafka-v1.0.0` comes after `runtime-v1.4.0` and `codecs-v2.1.0`. It publishes `kafka` 1.0.0
|
|
142
|
+
with `runtime = "1.4.0"` and `codec = "2.1.0"`, and publishes nothing else, because crates.io
|
|
143
|
+
already has the others. The release also writes the other trains' crates, without publishing them,
|
|
144
|
+
because cargo resolves a path dependency only at the version its crate is at.
|
|
145
|
+
|
|
146
|
+
### Checks before the tag
|
|
147
|
+
|
|
148
|
+
The trains run the same checks for every ecosystem. They run in `verifyConditions` of the trains
|
|
149
|
+
plugin and of this plugin, before the tag:
|
|
150
|
+
|
|
151
|
+
- A crate of the release that depends on a crate of no train fails with `EDEPENDENCYNOTRAIN`.
|
|
152
|
+
- A crate of the release that depends on a crate of a train with no release fails with
|
|
153
|
+
`EDEPENDENCYNORELEASE`.
|
|
154
|
+
- A crate that the paths of two trains hold fails with `ETRAINOVERLAP`.
|
|
155
|
+
|
|
156
|
+
In the first two cases there is no version that crates.io could install, so the release never
|
|
157
|
+
publishes the placeholder. A dev-dependency without a `version` is not a fault, because cargo drops
|
|
158
|
+
it when it packages the crate. A dev-dependency with a `version` is a fault, because cargo keeps it.
|
|
159
|
+
|
|
160
|
+
A dependency on a crate with `publish = false` is cargo's own fault, `ECRATEPRIVATE`, also raised
|
|
161
|
+
before the tag. It applies to a normal or a build dependency, and to a dev-dependency with a
|
|
162
|
+
`version`, which cargo keeps when it packages. crates.io would refuse such a crate in the middle of
|
|
163
|
+
a release. A dev-dependency on it without a `version` is allowed, because cargo drops it.
|
|
164
|
+
|
|
165
|
+
### When another train's release leaves a crate behind
|
|
166
|
+
|
|
167
|
+
When the other trains' last releases leave a train behind, that train owes a release: a cascade
|
|
168
|
+
(see [Trains that depend on other trains](dependency-rules.md)). The release publishes
|
|
169
|
+
`version = "1.4.0"` for runtime 1.4.0, which cargo reads as `^1.4.0`. Runtime 1.5.0 is within that
|
|
170
|
+
range, so it owes kafka nothing. Runtime 2.0.0 is not, so kafka's next release is at least a patch,
|
|
171
|
+
with `runtime = "2.0.0"`, and its notes say so.
|
|
172
|
+
|
|
173
|
+
### Who inherits `[workspace.package]`
|
|
174
|
+
|
|
175
|
+
`[workspace.package]` holds one version, so only the crates of one train can inherit it
|
|
176
|
+
(`version.workspace = true`). The crates of every other train set their own
|
|
177
|
+
`version = "0.0.0-development"` in their `[package]`, which their train's release writes. If the
|
|
134
178
|
crates of two trains inherit it, or the crates of a train and a published crate of no train, the
|
|
135
|
-
stamp fails with `ESTAMP` and names them. A crate
|
|
136
|
-
may inherit it too
|
|
179
|
+
stamp fails with `ESTAMP` and names them. A crate with `publish = false` that belongs to no train,
|
|
180
|
+
such as an example, may inherit it too. It is at the version that `[workspace.package]` holds, and
|
|
181
|
+
no release publishes it.
|
|
137
182
|
|
|
138
183
|
## What crates.io needs
|
|
139
184
|
|
|
140
|
-
- **A version
|
|
141
|
-
|
|
142
|
-
writes.
|
|
143
|
-
- **
|
|
144
|
-
or `license-file
|
|
145
|
-
`[workspace.package]` (`description.workspace = true`).
|
|
146
|
-
- **A name and a publisher.**
|
|
147
|
-
a placeholder version before trusted publishing
|
|
148
|
-
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
185
|
+
- **A version on each path dependency.** `cargo publish` refuses a dependency with only a path,
|
|
186
|
+
except a dev-dependency, which it drops. Give each one `version = "0.0.0-development"`, which the
|
|
187
|
+
release writes.
|
|
188
|
+
- **A description and a license.** crates.io refuses a crate without a `description`, or without a
|
|
189
|
+
`license` or `license-file`. Give each crate that the release publishes both, in its own
|
|
190
|
+
`[package]` or in `[workspace.package]` (`description.workspace = true`).
|
|
191
|
+
- **A name and a publisher.** Each crate has its own settings on crates.io. A crate that is not on
|
|
192
|
+
crates.io yet needs a placeholder version before trusted publishing can serve it (see
|
|
193
|
+
[Trusted publishing](#trusted-publishing)).
|
|
194
|
+
- **Each dependency there first.** cargo waits for each crate it publishes to appear in the index,
|
|
195
|
+
and the plugin publishes a train's crates in dependency order, so the crates of a release can
|
|
196
|
+
install each other. The other trains' crates are there already. If one is not, the release fails
|
|
197
|
+
before the tag with `EDEPENDENCYNORELEASE`.
|
|
198
|
+
- **`publish = false` on what is not published.** Mark an example or a test crate of the workspace
|
|
199
|
+
this way. Otherwise the train whose paths hold it publishes it. You can also leave a crate of the
|
|
200
|
+
train out with `exclude`, which names only crates of the train (`ECRATES`).
|
|
201
|
+
|
|
202
|
+
## Authenticate to the registry
|
|
203
|
+
|
|
204
|
+
The plugin publishes with the credential that the run's environment has, and tells which one it
|
|
205
|
+
uses:
|
|
206
|
+
|
|
207
|
+
- an ID token of the job, in `CRATES_IO_ID_TOKEN` by default (`idToken` names another variable);
|
|
208
|
+
- a token, in `CARGO_REGISTRY_TOKEN`.
|
|
209
|
+
|
|
210
|
+
With both, the plugin uses the ID token and the log says so. With neither, `verifyConditions` fails
|
|
211
|
+
with `ECRATEAUTH` before the tag. A dry run only warns, because semantic-release runs only
|
|
212
|
+
`verifyConditions` in a dry run.
|
|
163
213
|
|
|
164
214
|
### Trusted publishing
|
|
165
215
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
only.
|
|
216
|
+
Trusted publishing is the recommended way, because the project holds no secret, as with npm.
|
|
217
|
+
crates.io exchanges the CI job's ID token for a short-lived publish token. It is in public beta on
|
|
218
|
+
crates.io, and works only from GitLab.com.
|
|
219
|
+
|
|
220
|
+
Set it up for each crate:
|
|
169
221
|
|
|
170
|
-
In the settings
|
|
171
|
-
file path of the workflow that defines the
|
|
172
|
-
includes it, as crates.io's page for the
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
222
|
+
1. In the crate's settings on crates.io, add a GitLab publisher. Give the namespace and the project,
|
|
223
|
+
the file path of the workflow that defines the publish job, and the job's environment if it names
|
|
224
|
+
one. The file path is `.gitlab-ci.yml`, or the file that includes it, as crates.io's page for the
|
|
225
|
+
field explains.
|
|
226
|
+
2. A crate that is not on crates.io yet has no settings, so it needs a placeholder first, as an npm
|
|
227
|
+
package does. Publish `0.0.0` of it once, with a token that has the scopes `publish-new` and
|
|
228
|
+
`publish-update`, and a description that says what the name is reserved for. Then add the
|
|
229
|
+
publisher and revoke the token. crates.io deletes no version, so the placeholder stays; you can
|
|
230
|
+
yank it. The train's first release is a higher version.
|
|
178
231
|
|
|
179
|
-
The job asks GitLab for
|
|
232
|
+
The job asks GitLab for an ID token with the audience `crates.io`, and needs nothing else:
|
|
180
233
|
|
|
181
234
|
```yaml
|
|
182
235
|
publish-release:
|
|
@@ -187,16 +240,20 @@ publish-release:
|
|
|
187
240
|
- semantic-release-trains-tag
|
|
188
241
|
```
|
|
189
242
|
|
|
190
|
-
The plugin does the rest
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
the token
|
|
243
|
+
The plugin does the rest:
|
|
244
|
+
|
|
245
|
+
- Before the first crate it publishes, it exchanges the ID token for a publish token
|
|
246
|
+
(`POST https://crates.io/api/v1/trusted_publishing/tokens`). It gives the publish token only to
|
|
247
|
+
`cargo`, as `CARGO_REGISTRY_TOKEN`, and keeps the ID token out of `cargo`'s environment.
|
|
248
|
+
- A release with nothing to publish exchanges nothing. Exchanging late leaves the token the least
|
|
249
|
+
time to expire.
|
|
250
|
+
- If the registry refuses the token as expired, as in a long release, the plugin exchanges a new
|
|
251
|
+
one, once, and tries the crate again.
|
|
252
|
+
- When the job ends, even when it fails, the plugin revokes the token (`DELETE` on the same URL). A
|
|
253
|
+
failed revoke is logged and fails nothing, because the token expires by itself.
|
|
254
|
+
- The tokens appear in no log and no error.
|
|
198
255
|
|
|
199
|
-
A registry
|
|
256
|
+
A registry other than crates.io that offers the same exchange takes its API as `registryApi`, with
|
|
200
257
|
its `registry` and its `index`:
|
|
201
258
|
|
|
202
259
|
```js norun
|
|
@@ -213,29 +270,37 @@ export const cargo = [
|
|
|
213
270
|
|
|
214
271
|
### A token
|
|
215
272
|
|
|
216
|
-
|
|
217
|
-
train
|
|
218
|
-
only the pipeline of a protected tag
|
|
219
|
-
a registry that has no trusted publishing too
|
|
220
|
-
is not crates.io
|
|
273
|
+
Create a crates.io API token with the scopes `publish-new` and `publish-update`, limited to the
|
|
274
|
+
train's crates. Keep it as a protected, masked variable `CARGO_REGISTRY_TOKEN` of the group or the
|
|
275
|
+
project, so that only the pipeline of a protected tag can read it. You need nothing else. It works
|
|
276
|
+
on any CI, and with a registry that has no trusted publishing too: use
|
|
277
|
+
`CARGO_REGISTRIES_<NAME>_TOKEN` for a `registry` that is not crates.io. The token is a long-lived
|
|
278
|
+
secret. Rotate it, and drop it once trusted publishing works.
|
|
221
279
|
|
|
222
|
-
##
|
|
280
|
+
## When a publish fails
|
|
223
281
|
|
|
224
|
-
A published crate version stays: crates.io takes
|
|
225
|
-
plugin asks the registry's sparse index
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
282
|
+
A published crate version stays: crates.io never takes a version twice, and a yanked version stays
|
|
283
|
+
taken. Before the first publish, the plugin asks the registry's sparse index about each crate and
|
|
284
|
+
skips each crate the registry has. So retry the tag's job to publish what is missing.
|
|
285
|
+
|
|
286
|
+
- If cargo fails because the version is there already, as when the index had not caught up with an
|
|
287
|
+
earlier run, the plugin asks the registry again for up to half a minute. Once the registry has the
|
|
288
|
+
crate, the plugin skips it.
|
|
289
|
+
- A crate that fails stops the run with `ECRATEPUBLISH` and the tail of cargo's output. The crates
|
|
290
|
+
before it are published.
|
|
291
|
+
- A registry that cannot be asked stops the run before anything is published (`ECRATESIO`).
|
|
231
292
|
|
|
232
293
|
## What the stamp does not read
|
|
233
294
|
|
|
234
|
-
The stamp
|
|
235
|
-
layout.
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
295
|
+
The stamp edits lines; it does not parse TOML. So the manifests keep their comments and their
|
|
296
|
+
layout. It has these limits:
|
|
297
|
+
|
|
298
|
+
- It does not read a dependency renamed with `package = "…"` in `[workspace.dependencies]`.
|
|
299
|
+
- An inline table that spans several lines fails with `ESTAMP`.
|
|
300
|
+
- A dependency on a train's crate written with dotted keys (`name.path = "…"`) fails with `ESTAMP`.
|
|
301
|
+
|
|
302
|
+
A crate of no train, or of a train with no release, keeps its version, and the dependencies on it
|
|
303
|
+
stay as they are. The stamp writes every crate's dependencies on the trains' crates, so the
|
|
304
|
+
workspace still builds. After the stamp, the plugin reads the workspace again. A crate that is not
|
|
305
|
+
at its train's version fails the run (`ECRATEVERSION`), so a manifest that the stamp did not write
|
|
306
|
+
cannot publish at the wrong version.
|