CI jobs following a stage with a manual step are running immediately
By default, jobs should only run if all jobs in the previous stage were successful. However, if the previous stage only contains a job with the
when: manual directive, jobs in the subsequent stage run immediately, before completion or even commencement of the manual job . This appears to be a bug and is certainly new behaviour.
Steps to reproduce
before_script: - echo "before_script" stages: - Build - Test Build: stage: Build script: - echo "Build" when: manual Test: stage: Test script: - echo "Test"
Test in stage
Test should not start until job
Build in stage
Build is manually triggered and completes successfully.
Test starts immediately.
Relevant logs and/or screenshots
Output of checks
Results of GitLab application Check
Checking GitLab Shell ... GitLab Shell version >= 4.0.3 ? ... OK (4.0.3) Repo base directory exists? default... yes Repo storage directories are symlinks? default... no Repo paths owned by git:git? default... yes Repo paths access is drwxrws---? default... yes hooks directories in repos are links: ... 4/3 ... ok <cut> Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Check GitLab API access: OK Access to /var/opt/gitlab/.ssh/authorized_keys: OK Send ping to redis server: OK gitlab-shell self-check successful Checking GitLab Shell ... Finished Checking Sidekiq ... Running? ... yes Number of Sidekiq processes ... 1 Checking Sidekiq ... Finished Checking Reply by email ... IMAP server credentials are correct? ... yes Init.d configured correctly? ... skipped (omnibus-gitlab has no init script) MailRoom running? ... can't check because of previous errors Checking Reply by email ... Finished Checking LDAP ... Server: ldapprimary LDAP authentication... Success LDAP users with access to your GitLab server (only showing the first 100 results) <cut> Checking LDAP ... Finished Checking GitLab ... Git configured with autocrlf=input? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config outdated? ... no Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory setup correctly? ... yes Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) projects have namespace: ... 4/3 ... yes <cut> Redis version >= 2.8.0? ... yes Ruby version >= 2.1.0 ? ... yes (2.3.1) Your git bin path is "/opt/gitlab/embedded/bin/git" Git version >= 2.7.3 ? ... yes (2.7.4) Active users: 17 Elasticsearch version 2.4.x? ... yes (2.4.2) Elasticsearch has plugin delete-by-query installed? ... no Checking GitLab ... Finished
Results of GitLab environment info
System information System: CentOS 7.2.1511 Current User: git Using RVM: no Ruby Version: 2.3.1p112 Gem Version: 2.6.6 Bundler Version:1.13.6 Rake Version: 10.5.0 Sidekiq Version:4.2.1 GitLab information Version: 8.14.4-ee Revision: 8c04d01 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 9.2.18 URL: https://redacted HTTP Clone URL: https://redacted/some-group/some-project.git SSH Clone URL: [email protected]:some-group/some-project.git Elasticsearch: yes Geo: no Using LDAP: yes Using Omniauth: no GitLab Shell Version: 4.0.3 Repository storage paths: - default: /var/opt/gitlab/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks/ Git: /opt/gitlab/embedded/bin/git
(If you can, link to the line of code that might be responsible for the problem)