Will Bors automatically merge a PR if it's up to date with master?

Or does it always need to rerun all the tests in the staging branch?

It won't merge such PRs automatically. See this issue.