Allow set -x (I know, I know)

Please allow set -x. I know, I know, you’re concerned about leaking sensitive credentials. Well, if you use the standard TravisCI secure environment variable feature, and don’t do anything silly like base64-encoding the credential during jobs, then the logs will automatically be blanked out for you. No worries.

Anyone who runs CI with public logs is already responsible for any trouble. Let’s not go overboard making basic programming difficult in the name of 100% perfect security.

set -x is invaluable for debugging faulty jobs. It’s worth more alive than dead. Please re-enable this functionality.

I’m not sure what the problem is. You can set -x in your code just fine.
However, you’re probably not interested in tracing Travis’ internal logic so you likely want to also set +x at the end of a command if it’s run in the main shell:

script:
  - |
    set -x
    your_commands
    set +x

See https://github.com/skvark/opencv-python/blob/f33e65ddfc206d9169136b99d972f3014ee1afdc/.travis.yml#L948-L960 for an example (note that PS4 is also set to a more useful value).