Manual jobs aren't playable if the previous stage is manual or wasn't successful, even if failure is allowed.
Summary
Given two stages, a manual job in the second stage will not play unless the first stage was successful, even if failures are allowed.
This may be a duplicate of https://gitlab.com/gitlab-org/gitlab-ce/issues/30212, though I'm noticing it's also an issue if the first stage has automatic jobs that fail even though allow_failure is true.
Steps to reproduce
Create two stages where both have manual jobs or the first has an automatic, failing job but allow_failure set to true.
I replicated the issue on gitlab.com:https://gitlab.com/travis-bradbury/test-manual-jobs
What is the current bug behavior?
Clicking a play link for a job gives a 404 page (eg https://gitlab.com/travis-bradbury/test-manual-jobs/builds/13274212/play)
What is the expected correct behavior?
The job should be playable as normal.
Relevant logs and/or screenshots
Output of checks
This bug happens on gitlab.com (https://gitlab.com/travis-bradbury/test-manual-jobs)
The first pipeline features two manual jobs. The first succeeds but the second isn't playable. The second pipeline features an automatic failing job that's allowed to fail. The second isn't playable.
Results of GitLab environment info
System information
System: Ubuntu 16.04
Proxy: no
Current User: git
Using RVM: no
Ruby Version: 2.3.3p222
Gem Version: 2.6.6
Bundler Version:1.13.7
Rake Version: 10.5.0
Redis Version: 3.2.5
Git Version: 2.10.2
Sidekiq Version:4.2.7
GitLab information
Version: 9.0.1-ee
Revision: 7618f7f
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: postgresql
DB Version: 9.6.1
URL: https://git.example.com
HTTP Clone URL: https://git.example.com/some-group/some-project.git
SSH Clone URL: git@git.example.com:some-group/some-project.git
Elasticsearch: no
Geo: no
Using LDAP: no
Using Omniauth: no
GitLab Shell
Version: 5.0.0
Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories
Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks/
Git: /opt/gitlab/embedded/bin/git
Results of GitLab application Check
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.3.3)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.10.2)
Active users: 52
Elasticsearch version 5.1.x? ... no, you have 2.4.3
Checking GitLab ... Finished
