Skip to content

GitHub Actions ​

The github-actions target sets GitHub Actions secrets with gh secret set, which handles GitHub's encryption. It can also set Dependabot and Codespaces secrets.

Config typegithub-actions
Requiresgh, logged in with gh auth login as someone who can manage secrets
Readable afterwardsNo. GitHub stores secrets encrypted and never returns them

Quick start ​

toml
[targets.gh-prod]
type = "github-actions"
repo = "acme/api"
environment = "production"

[secrets]
STRIPE_KEY = { provider = "op", value = "Stripe/secret key", push = ["gh-prod"] }
sh
fnox push --dry-run
fnox push

Without repo, gh uses the repository of the current directory.

Configuration ​

FieldDefaultDescription
repocurrent repositoryRepository as owner/name.
environmentnoneDeployment environment to set the secret in, instead of the repository.
orgnoneOrganization to set the secret in. Conflicts with repo and environment.
visibilityGitHub's defaultFor an org secret: "all", "private", or "selected" repositories.
reposnoneFor visibility = "selected": the repositories that can use the secret.
app"actions""actions", "dependabot", or "codespaces". Environments exist only for Actions.
toml
[targets.org-deps]
type = "github-actions"
org = "acme"
visibility = "selected"
repos = ["api", "web"]
app = "dependabot"

Notes ​

  • The secret name is the fnox key. GitHub reserves names that start with GITHUB_, so fnox refuses to push such a key before it writes anything.
MIT LicenseCopyright © 2026jdx.dev