Update job with code from last commit

I have an workflow for testing and deploying android apps , very simply what I do is:

Build test apps -> Run tests -> Increment app version and push to github repo -> Build release app -> Deploy

The problem is, the release app is built from the commit that triggered the workflow, thus it has the wrong app version, and not the app version generated in this workflow.
What is the best way to solve this?

Should I run the increment app version and build release app in the same job?

I also thought about replacing the default checkout step in the build release app job, with something like:
git clone -b ${CIRCLE_BRANCH} — single-branch REPO_URL — depth=1

Run out of credits for this week so I can’t try it out right now.
If you struggled with a similar problem please share your solutions!

I’m a firm believer that you should test the same deliverable that you may put into production. For your case, I would therefore build the test version with the same app version as release.

I’d use this flow:
Build test apps -> Run tests -> Build release app -> Deploy -> Increment app version and push to github repo