Skip to content

Exec mode for build.sh - #716

Merged
jkloetzke merged 4 commits into
BobBuildTool:masterfrom
jkloetzke:exec-cmd
Oct 8, 2026
Merged

jkloetzke merged 4 commits into
BobBuildTool:masterfrom
jkloetzke:exec-cmd

Conversation

@jkloetzke

Copy link
Copy Markdown
Member

No description provided.

@codecov

codecov Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.77551% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.92%. Comparing base (9624e4d) to head (5f73144).

Files with missing lines Patch % Lines
pym/bob/invoker.py 88.60% 9 Missing ⚠️
pym/bob/cmds/invoke.py 80.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #716      +/-   ##
==========================================
+ Coverage   89.90%   89.92%   +0.01%     
==========================================
  Files          50       50              
  Lines       16957    16990      +33     
==========================================
+ Hits        15246    15278      +32     
- Misses       1711     1712       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jkloetzke
jkloetzke force-pushed the exec-cmd branch 4 times, most recently from 45fe816 to 0e975ad Compare October 6, 2026 19:00
@jkloetzke jkloetzke added this to the 1.3 milestone Oct 6, 2026
Adds a new "exec" invocation mode to "bob _invoke", usable as
"build.sh exec <command>". Each argument is a full command (with its
own parameters) executed in the step's workspace with the same
environment as "build.sh shell". Multiple commands run one after
another and execution stops at the first one that fails.

Since a single Invoker can now run several sandboxed commands in one
call, the sandbox root is allocated fresh per command instead of being
reused, as the sandbox helper does not tolerate a pre-populated root.
Add some hints that the "exec" mode of checkout/build/package.sh can be
used to execute some command in the workspace environment.
Exercise the "exec" invocation mode, i.e. "build.sh exec <command>...".
It must work for every supported scripting language (bash, python,
PowerShell) and regardless of the sandboxing mode (none, slim or
full/fat sandbox with an image).
Use "raise AssertionError" instead which is ignored for coverage
counting.
@jkloetzke
jkloetzke merged commit e5a0971 into BobBuildTool:master Oct 8, 2026
10 of 11 checks passed
@jkloetzke
jkloetzke deleted the exec-cmd branch October 8, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant