Must a runner act as root?

I need to install some software that doesn’t work properly as root.

Locally, in a docker image I can create a new user, add to root group and switch user. However the CI ignores su and I am still root on the second whoami.

 whoami
 useradd -ms /bin/bash newuser && usermod -G root newuser && su newuser
 whoami

Is there a preferred way of doing this or is it impossible.

Thanks

C