Skip to content

Repository files navigation

Distroplane

CI Release License

Lightweight tool for recoverable release distribution to npm, SDKMAN, Homebrew taps, and WinGet. It plans existing artifacts, records publication state, and reconciles pending or uncertain outcomes before retrying side effects.

GitHub Actions

For an npm target configured with the credential reference npm-publish:

- id: plan
  uses: aalsanie/distroplane@v0.9.0-rc.2
  with:
    command: plan

- uses: aalsanie/distroplane@v0.9.0-rc.2
  env:
    NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
  with:
    command: apply
    plan: ${{ steps.plan.outputs.plan-path }}
    credential-mappings: npm-publish=NPM_TOKEN

See GitHub Actions for plan handoff, reconciliation, OIDC, and evidence.

CLI

Install Distroplane, create a configuration, then:

distroplane plan --config distroplane.json
distroplane apply --plan PLAN.json --journal run.journal --credential npm-publish=NPM_TOKEN
distroplane status --plan PLAN.json --journal run.journal
distroplane reconcile --plan PLAN.json --journal run.journal --credential npm-publish=NPM_TOKEN
distroplane evidence --plan PLAN.json --journal run.journal --output evidence.json

Use the path returned by plan in place of PLAN.json. Preserve the plan and journal until the run is complete.

Providers

Provider Publication flow
npm npm-compatible registry
SDKMAN SDKMAN vendor API
Homebrew Custom tap by push or pull request
WinGet Manifest pull request

Documentation

CLI · Configuration · Architecture · Security · Release verification · Contributing

Apache-2.0.

About

Lightweight tool for recoverable release distribution across npm, SDKMAN, Homebrew taps, and WinGet

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages