* ci: build newly added variants in the PR matrix
A new board declares board_level = release, so it gets no CI build until
after merge. Build the first env of each platformio.ini added by a PR,
regardless of board_level.
Only added files qualify; adding an env to an existing config does not.
* ci: also detect added variants in merge_group runs
merge_group uses the same --level pr subset as pull_request, so a newly
added variant was skipped there. Derive the diff base from
github.event.merge_group.base_sha for those runs.
* ci: fail the matrix step when the variant diff errors
Process substitution hides the exit status, so a failed diff silently
yielded an empty list and dropped the new board from the matrix. Capture
into a variable so 'set -e' aborts the step instead.