my approach would be to set for every job the right 'if' condition.
As an example:
- name: Check approval status
if: matrix.target_env == '<env>'
continue-on-error: true
id: check_approval
run: |
echo "status=success" >> $GITHUB_OUTPUT