You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Scope
Add the release options and preflight controls needed to bring cone and
c1i onto the shared trusted release path.
## Change
- Normalize and validate go_main_package from the pinned
github-workflows checkout, then use it in every GoReleaser target.
- Add brew_tap with a fixed ConductorOne owner and a validated
repository-name-only value.
- Add opt-in source hygiene, multi-platform govulncheck, and post-build
module-version checks.
- Keep existing defaults unchanged for every caller.
## Security
Inputs are never interpolated into shell commands. The normalizer
rejects absolute, traversal, empty-component, and YAML-significant Go
package paths, plus Homebrew tap path separators. Preflight checks run
against the exact tag target before build; module-version verification
runs before provenance or artifact upload.
## Verification
- make test workflow-validate
- make verify is blocked locally because buf is not installed.
---------
Co-authored-by: Paul Querna <paul.querna@conductorone.com>
Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: docs/release-workflow.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,16 @@ Validates workflow inputs before proceeding:
32
32
33
33
### determine-workflows-ref
34
34
35
-
Resolves the exact SHA of the shared workflow being used. This pinned reference is embedded in all provenance attestations, ensuring verifiability.
35
+
Resolves the exact SHA of the shared workflow, then uses the pinned workflow source to normalize `go_main_package` and `brew_tap`. An omitted main package becomes `./cmd/<repository-name>`; a root package uses `./`. The workflow rejects non-relative package paths and tap values containing a path separator. The pinned reference is embedded in all provenance attestations, ensuring verifiability.
36
+
37
+
### release-preflight
38
+
39
+
Runs opted-in source integrity checks against the exact tagged caller source before any build job:
40
+
41
+
-`go_source_hygiene` runs `go generate ./...` and `go mod tidy`, then rejects a changed tree.
42
+
-`go_vulnerability_scan` runs `govulncheck` for Linux, macOS, and Windows.
43
+
44
+
`verify_module_version` checks a generated binary after GoReleaser and before provenance or artifact upload. It requires the embedded Go module version to equal the release tag.
0 commit comments