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.
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