Skip to content

fix: avoid persisting Git credentials in release actions - #54

Merged
Troublor merged 1 commit into
mainfrom
william/ci/ephemeral-release-git-auth
Oct 21, 2026
Merged

Troublor merged 1 commit into
mainfrom
william/ci/ephemeral-release-git-auth

Conversation

@Troublor

Copy link
Copy Markdown
Contributor

Summary

Release actions currently persist installation tokens in Git authentication headers. Add a command-scoped GitHub HTTPS authentication component using GIT_ASKPASS, disable credential storage for its commands, and use it for release fetches and pushes without changing Git auth configuration or remote URLs.

Keep existing release-action inputs compatible and add an optional read-only dependency_token for candidate dependency updates. Document the new action and exercise clone, recursive submodules, push, Cargo fetch followed by an offline build, authentication failures, stale checkout credentials, step outputs, and credential non-persistence against a local HTTPS Git server.

Test plan

  • Eight local Git/Cargo authentication integration tests passed; no real GitHub credential is used.
  • Twenty release-tool tests and the existing release-candidate workflow rehearsal passed.
  • actionlint, shellcheck, generated documentation check, Bash syntax checks, and git diff --check passed.
  • Live installation permissions and release operations still require CI validation. No release, App permission, or credential configuration has been changed.

@Troublor
Troublor marked this pull request as ready for review October 21, 2026 03:35
@Troublor
Troublor merged commit 54d24b6 into main Oct 21, 2026
10 checks passed
@Troublor
Troublor deleted the william/ci/ephemeral-release-git-auth branch October 21, 2026 03:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant