Skip to content

tracking: org-wide rollout — Release MVP / First-Time-Contributor, Scorecard ~10, security & branch protection everywhere #224

Description

@mwaldheim

Context

Follow-up to a full audit of semrel, semrel-docs, generator-changelog-html (+ condition-gitlab-ci, semrel-plugins) issues and PRs. Captures the remaining org-wide items that are too large for a single PR and need to be tracked centrally.

1. Release MVP + First-Time-Contributor everywhere

2. Full workflow migration to semrel

Audit result: most first-party plugin repos (condition-gitlab-ci, generator-*, updater-npm, updater-go, hook-slack, provider-github, …) already self-release via semrel-release.yaml — no action needed there. Gaps found:

  • publisher-generic-http, publisher-oci, packager-nfpm still use sync-template.yml/plain release.yml instead of a semrel-release.yaml dogfooding workflow — migrate these three.
  • Re-verify plugin-template produces a correct semrel-release.yaml for newly scaffolded plugins so this stays consistent going forward.

3. OpenSSF Scorecard → ~10

Current semrel score: 7.2. Gaps identified:

  • Signed-Releases (was 0): fixed in feat(release): sign release checksums with cosign (keyless) #223 — re-verify score after next scan.
  • Code-Review (0) / Maintained (0): these are rolling-window checks over recent commit history; will improve automatically now that branch protection enforces 1 required review on every repo (see Release rules: YAML config file and branch-based rules #4) — needs a few weeks of PR-only activity to reflect.
  • CII-Best-Practices (0): requires manually registering the project at https://www.bestpractices.dev — needs a human with org authority to create the account/apply; not automatable via API.
  • Pinned-Dependencies (7): GitHub Actions are already SHA-pinned; remaining gap likely in Docker base images / transitive tooling — needs a follow-up audit.
  • Run the same audit (api.scorecard.dev/projects/github.com/SemRels/<repo>) for every repo once each has a few scorecard runs recorded, and file per-repo fix-up issues for whatever scores <8.

4. Security, badges, branch protection — repo audit

  • Branch protection (required PR + 1 review, no force-push/deletion) is now enabled on every public repo in the org that previously lacked it: generator-changelog-html, generator-release-notes, generator-changelog-md, publisher-generic-http, publisher-oci, packager-nfpm, plugin-template. All other public repos already had it.
  • semrel-marketing and docker-registry are private repos — GitHub does not allow branch protection rules on private repos without a paid org plan (Team/Enterprise). Needs a billing decision, not code.
  • Badge audit still open: confirm every repo's README has License, CI, OpenSSF Scorecard, and REUSE badges (semrel's README already has all of these — use it as the template). File per-repo issues for any missing badge once audited.
  • semrel-docs has 13 open Dependabot security alerts (1 high, 7 moderate, 5 low) — needs a dependency-bump pass.

5. PR-only workflow going forward

All changes from this audit were made via PR (or, where the bot token lacked workflow scope to merge PRs touching .github/workflows/*, via a direct signed push with an explanit closing comment on the superseded PR — see condition-gitlab-ci#27/#24, semrel#212/#214, generator-changelog-html#24/27/28/29). Recommend granting the automation token workflow scope so future workflow-file PRs can be merged through the standard API path instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions