Oore CI
CLI

`oore pipeline plan`

Print the steps a repository pipeline file runs, per workflow and platform.

oore pipeline plan [PATH] [--workflow NAME] [--platform PLATFORM]... [--json]

PATH defaults to .oore.yaml. The command validates the file like oore pipeline validate, then prints what a build runs: the step names, their commands after vars and flavor references are resolved, the env, the artifact patterns, and for version 2 where each platform publishes. It reads only the file and contacts no backend.

OptionEffect
--workflow NAMEPlan one version 2 workflow. Without it, every workflow is printed.
--platform PLATFORMPlan only android, ios or macos, as a run that selects them would. Repeat for several.
--jsonPrint a JSON array with one plan per workflow.
oore pipeline plan
oore pipeline plan --workflow release --platform android
.oore.yaml (version 2)

workflow release
  platforms: android
  flutter: 3.24.5
  env:
    BUILD_FLAVOR=staging
    SENTRY_DSN=${{ secrets.SENTRY_DSN }}
  steps:
    1. Get packages [pre_build]
       $ flutter pub get
    2. Build Android (pro) [build, android]
       $ flutter build appbundle --release --flavor pro
  artifacts:
    build/app/outputs/bundle/proRelease/*.aab
  publish:
    android publishes to the Google Play production track to 1% of users with the draft setting from the pipeline's Google Play settings (targets.android.publish.play)

Secret references are printed as written; the runner resolves them during the build. A version 1 file prints the same plan the runner uses, including Oore’s default flutter pub get and platform build commands, with steps named pre_build-1, build-1 and so on. When a pipeline uploads to Google Play, the runner also adds a flutter build appbundle step after a default Android command; the printed plan leaves it out.

The pipeline editor’s What will run section shows the same plan from the daemon, for the form’s settings or a pasted .oore.yaml, with the same errors. It lists env keys without their values, and where the workflow publishes as a note. The --json output has a publish object per plan with play and testflight entries.