Skip to content
↗ Astrona.io Cloud Native learning, open to everyone.

Astrona submit

astrona submit

Submit the lab to the Proctor for grading

Synopsis

Submit the running lab to the Proctor for grading: every validation check and script runs, a failed one shows its hint (if the lab author wrote one), and you get a score. Every attempt is recorded — astrona submit --history lists them. --watch re-grades continuously while you work, without recording attempts.

Saved runs use their local config and cached repository without checking GitHub or downloading again. Approval of the same source revision is reused.

Passing means every check passes, or — when the lab sets validation.passPercent — reaching that score.

With no lab named, none picked with astrona use and no lab config in the current directory, the only running lab is submitted; with several running, it lists them and how to name each.

A catalog lab started while signed in (astrona run ATS…) sends each result to its lab page on Astrona as well. A submit is final: PASS and FAIL both finish the attempt and stop its timer, and once the server confirms the result, submit automatically deletes the lab, exactly like astrona destroy, including in headless and JSON modes. Use --keep to keep it; teardown.keepCluster is also respected. A local-only run has nothing to send, so its saved result finishes it too. An unsent result of a tracked run keeps the environment. Start a new run for another tracked attempt.

Exit code: 0 passed, 2 graded but didn't pass, 1 something else went wrong. Sending the result to Astrona never changes the grade. A cleanup failure exits 1 and leaves the uploaded result intact.

astrona submit [lab] [flags]

Options

  -h, --help                help for submit
      --history             List previous attempts for this lab instead of grading
      --interval duration   How often --watch re-grades (minimum 2s) (default 5s)
      --junit-xml string    Write a JUnit XML test report to this path, for CI systems to parse
      --keep                Keep the lab after the result is sent to Astrona instead of automatically deleting it
      --no-hints            Don't show hints for failed checks (exam conditions)
  -o, --output string       Output format: json
  -w, --watch               Re-grade continuously while you work (Ctrl-C to stop; not recorded as attempts)

Options inherited from parent commands

      --accept-terms      Accept this CLI's usage terms and data-loss risk notice; required on each operational CI command (read: astrona terms)
  -c, --config string     Path or URL to the lab config directory (with --git: a subdirectory within the cloned repo) (default ".")
  -f, --file string       Configuration file name override (default "config.yaml")
      --git string        Git repository URL to clone/pull (https://, git@host:, or ssh://) — --config then selects a subdirectory within it
      --git-ref string    Git branch, tag, or commit to check out (used with --git; default: the repo's default branch)
      --headless          Disable the terminal UI and CLI prompts; run/reset skip login reminders and new account sessions
      --install-version   If the lab needs another astrona release (astronaVersion) that isn't installed, install it without asking — for CI
      --trust             Approve running a remote (--git / URL) lab without asking — for CI; review the lab first
      --update-check      Check for new CLI releases (disabled in CI, without a terminal, or by ASTRONA_NO_UPDATE_CHECK) (default true)
      --verbose           Stream the full output of every underlying command instead of the compact step view

SEE ALSO

  • astrona - Astrona is the Astrona lab community CLI
Auto generated by spf13/cobra on 20-Oct-2026