How to run a job only after other job finish (with success or failure)?

How to run a job only after previous job finish , it can finish with success or failure, but not run if previous job didn’t run or was cancelled.
Note that allow_failure is not an option as in that case pipeline will be green even if job failed and this is not intended.
Using When always will run the job even if previous was cancelled.
It was something like “when on_sucess OR on_failure” but this is not supported…