With gitlab-ci-multi-runner-windows-amd64.exe version 1.4.0 we are seeing a problem that was not present with 1.1.4.
When jobs of one stage complete, the artifacts from jobs of the previous stage may not be downloaded. In the attached .gitlab-ci.yml file, the job "winBuild" creates artifacts needed by the job winSikuliNvidia. The winBuild job runs to successful completion, and the artifacts are persisted to the Gitlab server. However, when the job winSikuliNvidia is launched the following occurs:
Running with gitlab-ci-multi-runner 1.4.0 (5dd9b2f)
Using Shell executor...
Running on VISSIMLAB-TEST...
Fetching changes...
HEAD is now at 611a4fb Testing CI
Checking out 611a4fb0 as srs_osgEarth...
... was unexpected at this time.
ERROR: Build failed: exit status 255
This results in a failure of the job and stage. Examination of the file system on the runner reveals that the repo has been checked out, but none of the artifacts that should be there from the previous build stage have been fetched. It does not seem to have gotten to the point of running the yml yet, or is failing at first attempt.
Replacing the runner with version 1.1.4 corrects the problem. All runners are configured as "shell" runners. Host OS for the runners is Windows 7. Gitlab server is version 8.9.6.
Designs
An error occurred while loading designs. Please try again.
Child items
0
Show closed items
GraphQL error: The resource that you are attempting to access does not exist or you don't have permission to perform this action
No child items are currently open.
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
To find a workaround I tested "powershell" and "bash" shells which are both available on the runner computer and both had problems. One of them might work in some cases, but I have a self signed certificate provided by tls-ca-file config option.
bash fails because of gitlab-org/gitlab-ci-multi-runner#1515
powershell gets little further, but fails to handle self signed certificate:
Downloading artifacts for compile (327)...ERROR: Failed to parse PEM in C:\gitlab-multi-runner\builds\61d6cd8c\0\vs\projects.tmp\CI_SERVER_TLS_CA_FILE ERROR: Downloading artifacts from coordinator... error couldn't execute GET against https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: Get https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: x509: certificate signed by unknown authority id=327 token=f6eb4927WARNING: Retrying... ERROR: Downloading artifacts from coordinator... error couldn't execute GET against https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: Get https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: x509: certificate signed by unknown authority id=327 token=f6eb4927WARNING: Retrying... ERROR: Downloading artifacts from coordinator... error couldn't execute GET against https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: Get https://10.1.9.13:8000/ci/api/v1/builds/327/artifacts: x509: certificate signed by unknown authority id=327 token=f6eb4927FATAL: invalid argument ERROR: Build failed: exit status 1
Copy the link to the latest Windows build and change the word "latest" to "v1.3.4" for example to get an older version. I assume the same applies to the other builds.
I have this problem also in 1.4.x and up. It's only certain gitlab-ci-yml files that have the problem. .gitlab-ci.ymlAny ideas how we can enable logging or a more verbose output, output like "... was unexpected at this time" is all we get, and I think that's just "cmd.exe" barfing at the content of an autogenerated .cmd.
I reverted all the way back to gitlab runner 1.0.4 in this case, and this problem goes away there as well.
Running with gitlab-ci-multi-runner 1.4.1 (fae8f18)Using Shell executor...Running on DEV-HTML5...Fetching changes...HEAD is now at 08ffc51 Also change patient result data test to check the patient ID for patient 200 instead of 311.Checking out 2a582afc as master...... was unexpected at this time.ERROR: Build failed: exit status 255
I think that having a script section like this might be enough to reproduce... The important bit seems to be the quote marks around the echo. If I was in a dos command prompt and I type echo "hello" I expect this output:
"hello"
@svolatch I'd love to get it merged for v1.6 - !284 (merged) is passing but we're short on testing of it at the moment.
Is there any chance you'd be willing to test the generated binaries for that MR? We're hoping to get integration tests working on Windows, but that might not happen in time for 1.6
Passing artifacts to depended stages is working as expected with binaries from !284 (merged)
Running with gitlab-ci-multi-runner 1.6.0~beta.170.g6146004 (6146004)Using Shell executor...Running on TEST_AGENT_003...Cloning repository...Cloning into 'D:/WORK/b13f96d1/0/webapps/nsr'...Checking out 769df2f8 as devUITests...Downloading artifacts for build (16288)...Downloading artifacts from coordinator... ok
I have the latest runner, and I'm running 8.12.4-ee, but cannot get a download of a 2.2GB artifact to complete the download process after the 3 retries.
Is there a better way to debug what the problem is? I have attempted gitlab-runner --debug run, but only shows as much as the UI shows.
Running with gitlab-ci-multi-runner 1.6.1 (c52ad4f)
Using Shell executor...
Running on ngici-runners...
Fetching changes...
HEAD is now at 79b97c5 Change tag in CI yaml
Checking out 79b97c55 as master...
Downloading artifacts for ******** (6901)...
ERROR: Downloading artifacts from coordinator... error error=unexpected EOF id=6901 responseStatus=200 OK token=zbj8aex1
WARNING: Retrying...
ERROR: Downloading artifacts from coordinator... error error=unexpected EOF id=6901 responseStatus=200 OK token=zbj8aex1
WARNING: Retrying...
ERROR: Downloading artifacts from coordinator... error error=unexpected EOF id=6901 responseStatus=200 OK token=zbj8aex1
FATAL: invalid argument
ERROR: Build failed: exit status 1