gitlab-runner merge requestshttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests2017-09-29T13:46:29Zhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/701Fix small typo in Docker Machine part of executors/README.md2017-09-29T13:46:29Zusername-removed-419458Fix small typo in Docker Machine part of executors/README.md## What does this MR do?
Fixing a small typo in Docker Machine part of executors/README.md## What does this MR do?
Fixing a small typo in Docker Machine part of executors/README.mdhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/702Support memory limit configuration for docker runners.2017-09-29T16:31:40Zusername-removed-255806Support memory limit configuration for docker runners.> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Support memory limit configuration for docker runners.
## Why was this MR needed...> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Support memory limit configuration for docker runners.
## Why was this MR needed?
As #1582
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
#1582https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/703update git-lfs to 2.3.12017-10-02T12:31:56Zusername-removed-1339859update git-lfs to 2.3.1## What does this MR do?
This MR updates git-lfs binary from `2.1.1` to `2.3.1` in helper docker image
## Why was this MR needed?
Important bug fixes was added to git-lfs since `2.1.1` release.
For example we encountered the followin...## What does this MR do?
This MR updates git-lfs binary from `2.1.1` to `2.3.1` in helper docker image
## Why was this MR needed?
Important bug fixes was added to git-lfs since `2.1.1` release.
For example we encountered the following bugs in git-lfs:
* [Retry on timeout or temporary errors](https://github.com/git-lfs/git-lfs/commit/9cb274ef51802bd9df4410925845acc9f6966042)
* [git-lfs died on signal when clone large repository](https://github.com/git-lfs/git-lfs/issues/2439)
## Are there points in the code the reviewer needs to double check?
Please review [git-lfs changelog](https://github.com/git-lfs/git-lfs/blob/master/CHANGELOG.md)
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/704add `--checkout --force` options to `git submodule update --init`2017-10-02T12:32:28Zusername-removed-1339859add `--checkout --force` options to `git submodule update --init`## What does this MR do?
This MR adds `--checkout --force` options to `git submodule update --init`
## Why was this MR needed?
One of our developers added `git submodule deinit .` to after_script in `.gitlab-ci.yml`.
After that subseq...## What does this MR do?
This MR adds `--checkout --force` options to `git submodule update --init`
## Why was this MR needed?
One of our developers added `git submodule deinit .` to after_script in `.gitlab-ci.yml`.
After that subsequent jobs on this runner can't find any files inside submodule directory and failed.
This errors was urgently fixed with addition `git submodule update --init --force --checkout` to `before_script` in `.gitlab-ci.yml`. Suddenly I can't reproduce the issue.
With `--force` flag working copy state will be more predictable.
## Are there points in the code the reviewer needs to double check?
no
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/705Update docs for macOS with Homebrew2017-10-04T00:37:54Zusername-removed-100770Update docs for macOS with Homebrew## What does this MR do?
This MR updates docs for installation to macOS with Homebrew.
## Why was this MR needed?
Docs are obsolete.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the accept...## What does this MR do?
This MR updates docs for installation to macOS with Homebrew.
## Why was this MR needed?
Docs are obsolete.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [x] Documentation created/updated
- Tests
- [n/a] Added for this feature/bug
- [n/a] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #121210.2https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/706WIP: Provide initial support for windows in docker executor2017-10-06T13:06:18Zusername-removed-1463092WIP: Provide initial support for windows in docker executor## Overview
The docker executor has been updated to provide initial support for docker containers on windows. The executor works, but has some limitations:
- We have included a Dockerfile to create the windows helper image. The helpe...## Overview
The docker executor has been updated to provide initial support for docker containers on windows. The executor works, but has some limitations:
- We have included a Dockerfile to create the windows helper image. The helper image is not compiled into the runner using bindata due to the size of Windows container. At the moment, when using the default helper, it must be present locally.
- The behavior of `getPrebuiltImage()` on windows is different from linux. If the image does not exist locally, it will try to pull from remote. Since the current name does not point to a public repository, this will always fail.
- We'd like to propose changing the default helper name/tag to match a public repository. We could then alter the behavior of `getPrebuiltImage()` so that it does: 1) Looks for image locally, 2) Tries to extract from bindata (linux only), 3) Pulls from public repository (linux and windows)
- The `helper_image` option has been added to the docker executor config options. This allows someone configuring the runner to point to a different helper image (it looks locally then tries to pull the specified image). This works on both linux and windows. The intention of this is to provide a publically available helper image for windows, so that users do not need to build the image from source or pull and retag into the standard helper image name. The behavior of this command is to look for the specified image locally and then try to pull from remote repository.
- Services have been disabled on windows (it shows a warning if you attempt to use them). The linking functionality used to enable services does not work in windows.
- Since linking has been deprecated, we'd like to propose moving the Services functionality to not use linking. This would enable windows to support services as well.
- Windows requires Docker API version 1.24. A windows-only `consts_windows.go` file has been created to set the required API to 1.24 on windows, while leaving it at 1.18 for other platforms.
- Windows containers currently have an issue where some applications (in our case, git) cannot write to mapped volumes. Our windows helper was unable to do `git clone`-type commands due to this. As a workaround, when the `docker` executor is used on windows, then internally it calls `git clone`-type commands and clones into a temporary directory. The files are then moved into the mapped volume. There is no user impact to this, it just required us to implement workarounds in `shells/abstract.go`. These workarounds are windows-only.
- ~~The build output is currently _very_ verbose. Due to the way Windows output to stdout is handled for PowerShell, you see both the input commands and the output - this is very long, since it included setting all of the environement variables. There's also a potential pitfall if someone supplies a command that requires interaction (i.e. calling `Get-Credential`), where it will not be handled properly. The ideal scenario would be for the `-NonInteractive` switch invoking powershell.exe to work when sending commands (right now, it appears to be ignored if not also using `-File` or `-Command`) - this would solve both the stdout problem and the interaction problem.~~ This has been resolved. See https://gitlab.com/gitlab-org/gitlab-runner/merge_requests/706#note_42208614.
Various fixes related to handling docker for windows have also been implemented. Where they may be impactful, they've been wrapped in a conditional check (`runtime.GOOS == "windows"`).
We have performed manual testing of the executor on both windows and linux. Unit tests for the docker executor continue to pass. We've had some initial discussions about implementing windows-specific tests into the `gitlab-ci.yml` file, but have not yet done so.
## Build prebuilt image
We have added a script (`make-windows-container.ps1` in the root of the repo) that will build the prebuilt container. Right now, due to the limitations above, this needs to be done on the runner machine (which requires the gitlab runner source code), which is not ideal. To avoid this, in the runner TOML in the docker section, you can specify `helper_image` and point to our publically available image: `cdhunt/gitlab-runner-helper:winx86_64-latest`.
## Does this MR meet the acceptance criteria?
- Documentation has not been updated yet - we wanted to get feedback prior to completing that, in case the design needs to change.
- The build is not currently passing to due to complexity checks - I do not see obvious ways to make this simpler for the affected methods, other than refactoring portions of the code into different methods. We want to solicit feedback on this.
## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-runner/issues/2609https://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/707[WIP] Update minio go library to v3.0.32017-10-03T11:08:21ZTomasz Maczukintomasz@gitlab.com[WIP] Update minio go library to v3.0.3> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Updates `github.com/minio/minio-go` library to newest version (v3.0.3).
#...> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Updates `github.com/minio/minio-go` library to newest version (v3.0.3).
## Why was this MR needed?
Brings new features like ones requested in #2810 or #2042.
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #2042, #281010.1Tomasz Maczukintomasz@gitlab.comTomasz Maczukintomasz@gitlab.comhttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/708Hide tokens from URLs printed in job's trace2017-10-04T11:00:59ZTomasz Maczukintomasz@gitlab.comHide tokens from URLs printed in job's trace> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Removes known token patterns from job's output
## Why was this MR needed?
## Ar...> This is a general Merge Request template. Consider to choose a template
> from the list above if it will match your case more.
## What does this MR do?
Removes known token patterns from job's output
## Why was this MR needed?
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #274110.0Kamil TrzcińśkiKamil Trzcińśkihttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/709Add info on upgrading to Runner 102017-10-06T22:31:33ZAchilleas PipinellisAdd info on upgrading to Runner 10## What does this MR do?
Add information how to update to Runner 10+
Closes https://gitlab.com/gitlab-org/gitlab-runner/issues/2784## What does this MR do?
Add information how to update to Runner 10+
Closes https://gitlab.com/gitlab-org/gitlab-runner/issues/278410.1Achilleas PipinellisAchilleas Pipinellishttps://staging.gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/710Remove hardcoded gitlab.com certificate2018-01-23T22:41:30ZAlessio CaiazzaRemove hardcoded gitlab.com certificate## What does this MR do?
There are some tests that rely on validating gitlab.com TLS certificate.
The certificate was hardcoded in the repository and then it has to be changed once expired on gitlab.com
This MR fetches the certificate ...## What does this MR do?
There are some tests that rely on validating gitlab.com TLS certificate.
The certificate was hardcoded in the repository and then it has to be changed once expired on gitlab.com
This MR fetches the certificate in use at the moment when the tests are run.
## Why was this MR needed?
## Are there points in the code the reviewer needs to double check?
## Does this MR meet the acceptance criteria?
- [ ] Documentation created/updated
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
## What are the relevant issue numbers?
Closes #281510.1Kamil TrzcińśkiKamil Trzcińśki