Alternative to && separation in step definitions to get fine-grained timing information

steps:
  - command: "npm install && npx nx run-many --target=test --all"

How do I get timing information in the build result for each of npm install and the test invocation (to the right of the &&)?

Alternatively, is there an alternate non-&& way of making the two command run one after the other on the same build agent without resetting working copy between the two with a git-checkout?

Hey @paul_h! :wave:

The timing displayed is for the whole command, but you can work on a workaround creating new group outputs.
You can use a script with the commands (which is nicer), or have something like:

steps:
  - command: echo "--- npm" && npm install && echo "--- tests" && npx nx run-many --target=test --all

Instead of using a single line of commands, you can pass a list of commands that must all pass:

steps:
  - commands:
    - "npm install && npm test"
    - "moretests.sh"
    - "build.sh"

More info at Command step | Buildkite Documentation

Best!

echo "— some term to mark a break in the current build step

^ that’s a great trick, thanks.