build-and-release

Reproduce safeguard-ps Azure Pipeline build-and-release behavior locally.

24|35|Updated Sep 14, 2017
One-click install
npx skills add https://github.com/OneIdentity/safeguard-ps --skill build-and-release-oneidentity
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: build-and-release
Source: https://github.com/OneIdentity/safeguard-ps/tree/main/.agents/skills/build-and-release
Command: npx skills add https://github.com/OneIdentity/safeguard-ps --skill build-and-release-oneidentity

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you reliably reproduce Azure Pipelines build-and-release outcomes locally and understand how versions, signing, and artifacts are generated for safeguard-ps, reducing guesswork when releases or pipeline runs fail.

Core Features & Use Cases

  • Version stamping logic: Derives VersionString, PrereleaseSuffix, and ReleaseTag using the repo’s pipeline templates and enforces tag formats like v<major>.<minor>.<patch>.
  • Deterministic install and lint flow: Uses pipeline-templates/install-forpipeline.ps1 to stamp manifests, create a catalog on Windows, install into a target PSModulePath, and run strict linting.
  • Signing and publishing workflow mapping: Documents the PowerShell Gallery publish step, catalog signing flow, GitHub release artifact creation, and Docker Hub image publishing conditions.

Quick Start

Use the build-and-release skill to reproduce a pipeline build locally for troubleshooting versioning, stamping, signing, or artifact publishing behavior for safeguard-ps.

Frequently Asked Questions about build-and-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reproduce Azure Pipelines build-and-release behavior locally?

To reproduce Azure Pipelines build-and-release behavior locally, run pipeline-templates versionnumber scripts and install-forpipeline stamping to replicate version stamping, linting, signing, and publishing. It applies build.yml rules for local CI validation across Windows and Linux.

How does version stamping work for PowerShell module releases?

Version stamping for PowerShell module releases derives VersionString, PrereleaseSuffix, and ReleaseTag using pipeline templates. It enforces tag formats like v<major>.<minor>.<patch> and stamps manifests via install-forpipeline.ps1 for consistent release tagging.

Can I use this build-and-release process for both Windows and Linux build templates?

Yes, the build-and-release process supports both Windows and Linux build templates. It handles local CI replication, release validation, and troubleshooting across both operating systems for tag and non-tag builds.

What is the workflow for signing and publishing artifacts to the PowerShell Gallery?

The signing and publishing workflow for PowerShell Gallery artifacts involves catalog signing on Windows, publishing the module, creating GitHub release artifacts, and conditionally publishing Docker Hub images. These steps follow the artifact rules defined in build.yml.

Why does my CI release validation fail during strict linting?

CI release validation fails during strict linting when install-forpipeline.ps1 encounters manifest stamping errors or code style violations. The build-and-release process enforces strict linting after installing into the target PSModulePath to ensure release readiness.