gitlab-runner artifacts-uploader does not fail if artifact file to upload does not exist
<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by the "regression" or "bug" label.
For the Community Edition issue tracker:
- https://gitlab.com/gitlab-org/gitlab-ce/issues?label_name%5B%5D=regression
- https://gitlab.com/gitlab-org/gitlab-ce/issues?label_name%5B%5D=bug
For the Enterprise Edition issue tracker:
- https://gitlab.com/gitlab-org/gitlab-ee/issues?label_name%5B%5D=regression
- https://gitlab.com/gitlab-org/gitlab-ee/issues?label_name%5B%5D=bug
and verify the issue you're about to submit isn't a duplicate.
--->
### Summary
gitlab-runner artifacts-uploader does not fail if artifact file to upload does not exist.
This leads to pipeline working and lets subsequent pipelines fail or worse lets falsy data get to production.
This relates to https://gitlab.com/gitlab-org/gitlab/-/issues/22711 as well
### Steps to reproduce
Version of gitlab-runner: 11.8.0
Issue the following command:
```
/usr/bin/gitlab-runner artifacts-uploader \
--url <url to gitlab ci> \
--token <access token> \
--id <id> \
--path <path to NON existing file> \
--artifact-format zip \
--artifact-type archive
```
The return value will be 0
```
echo $?
0
```
### What is the current *bug* behavior?
The output of the command is:
```
Runtime platform arch=amd64 os=linux pid=21534 revision=4745a6f3 version=11.8.0
WARNING: <path to NON existing file>: no matching files
ERROR: No files to upload
```
But the exit code is `0`.
### What is the expected *correct* behavior?
The output should remain but the exit code should become `1`.
### Possible fixes
The problem exists in line `94` of `commands/helpers/artifacts_uploader.go`.
```
return nil
```
should be probably changed to
```
return errors.New("No files to upload")
```
or `createReadStream` should return an error.
issue