Skip to content

feat(go-release): manifest publish for per-component tags and a non-root go.mod #901

Closed

Description

@bedatty

Request Type

New input / parameter for an existing workflow

Affected Workflow (if applicable)

Go (ci, security, release, pr-analysis)

Problem / Motivation

go-release.yml's permission_manifest_publish job (run_manifest_publish) only accepts plain release tags (vX.Y.Z, vX.Y.Z-beta.N, vX.Y.Z-rc.N). It also scopes itself through the root go.mod, checking for a direct lib-auth dependency.

A monorepo with per-component tags (<service>-vX.Y.Z) and no root go.mod, such as LerianStudio/br-sfn, gets manifest publish skipped on every tag. The repo therefore keeps a bespoke permission-manifest-publish.yml that calls the src/validate/permission-manifest-publish composite directly, with its own copy of the tag list, its own environment resolution from the tag, and a hard-coded go-mod-path: services/spi/go.mod.

Proposed Solution

Alternatives Considered

The caller-side workflow (current state). It duplicates tag-to-environment logic that the umbrella already owns.

Example Usage

uses: LerianStudio/github-actions-shared-workflows/.github/workflows/go-release.yml@tier-2
with:
  run_manifest_publish: true
  manifest_go_mod_path: services/spi/go.mod
  manifest_tag_pattern: '^(?<component>[a-z][a-z0-9-]*)-(?<version>v\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?)$'

Would This Be a Breaking Change?

No — fully backward compatible

Checklist

  • I searched existing issues and this is not a duplicate.
  • This feature aligns with the repository's goal of providing reusable, organization-wide workflows.

Additional Context

Consumer: LerianStudio/br-sfn (.github/workflows/permission-manifest-publish.yml). Related closed work: #672.

Activity

  1. added a commit that references this issue on Oct 21, 2026
    aa0281a
  2. bedatty commented on Oct 21, 2026

    @bedatty
    ContributorAuthor

    Implemented in #956 (targets develop, per this repo's branch strategy).

    GitHub only registers a Closes keyword as a linked issue when the PR targets the default branch (main here), so #956 shows "None yet" under Development even though its body and commit message both carry Closes #901. The issue closes automatically once that commit reaches main through the release PR; linking here so the connection is visible from both sides in the meantime.

    Scope note: #956 implements manifest_go_mod_path as proposed, but replaces the proposed manifest_tag_pattern (caller-supplied regex, depending on #898) with a manifest_component_tags boolean opt-in. Rationale is in the PR description.

  3. added
    workflowChanges to one or more reusable workflow files
    golangChanges to Go-related workflows
    work-in-progressActive work — exempt from stale auto-close
    on Oct 21, 2026
  4. self-assigned this
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or improvement requestgolangChanges to Go-related workflowswork-in-progressActive work — exempt from stale auto-closeworkflowChanges to one or more reusable workflow files

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions