Reviewing the compact execution logs of a Bazel build, i noticed that the output of the mnemonic AppIntentsMetadataProcessor runs xcrun appintentsmetadataprocessor
that produces a JSON file extract.actionsdata
with keys are that unsorted. The exact contents are the same if the keys are sorted. As a result, this output can be non-deterministic.
I can think of a few options:
Option 1: include a jq --sort-keys <file>
binary to post-process the output.
Option 2: write a Python helper to sort the keys before returning the output
Option 3: update guides to disable caching for this output. The extraction for this action can take a while, so it would be advantageous to find a way.