I might be misunderstanding something or doing something incorrectly. I thought a manual job would block all the jobs in the subsequent stages as well.
I have this pipeline:
build:
image: busybox:latest
stage: build
script: echo Build
manual:
stage: test
when: manual
script:
- echo Manual
- sleep 60
deploy:
stage: deploy
script: echo Deploy
GitLab CI executed the build stage and the deploy stage even though the test stage is still waiting for my manual intervention to start the job.