Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-17Fix pipelines not always being created after a pushStan Hu
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31741 introduced a regression where not all the right parameters would be passed into `Ci::CreatePipelineService`. We fix this by breaking out the pipeline parameters and reusing a method from `Gitlab::DataBuilder::Push`. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66196
2019-08-16Merge branch 'dm-process-commit-worker-n+1' into 'master'Stan Hu
Look up upstream commits once before queuing ProcessCommitWorkers Closes #65464 See merge request gitlab-org/gitlab-ce!31871
2019-08-16Expire project caches once per push instead of once per refStan Hu
Previously `ProjectCacheWorker` would be scheduled once per ref, which would generate unnecessary I/O and load on Sidekiq, especially if many tags or branches were pushed at once. `ProjectCacheWorker` would expire three items: 1. Repository size: This only needs to be updated once per push. 2. Commit count: This only needs to be updated if the default branch is updated. 3. Project method caches: This only needs to be updated if the default branch changes, but only if certain files change (e.g. README, CHANGELOG, etc.). Because the third item requires looking at the actual changes in the commit deltas, we schedule one `ProjectCacheWorker` to handle the first two cases, and schedule a separate `ProjectCacheWorker` for the third case if it is needed. As a result, this brings down the number of `ProjectCacheWorker` jobs from N to 2. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52046
2019-08-16Look up upstream commits once before queuing ProcessCommitWorkersDouwe Maan
Instead of checking if a commit already exists in the upstream project in its ProcessCommitWorker and bailing out if it does, we check the existence of all commits in bulk in Git::BranchHooksService, so that we can skip scheduling ProcessCommitWorker jobs for those commits that already exist upstream entirely.
2019-08-16Merge branch 'enable-dag-support-by-default' into 'master'Kamil Trzciński
Enable DAG support by default Closes #65457 See merge request gitlab-org/gitlab-ce!31814
2019-08-15Only read rebase status from the modelNick Thomas
Prior to 12.1, rebase status was looked up directly from Gitaly. In https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14417 , a DB column was added to track the status instead. However, we couldn't stop looking at the gitaly status immediately, since some rebases may been running across the upgrade. Now that we're in 12.3, it is safe to remove the direct-to-gitaly lookup. This also happens to fix a 500 error that is seen when viewing an MR for a fork where the source project has been removed. We still look at the Gitaly status in the service, just in case Gitaly and Sidekiq get out of sync - I assume this is possible, and it's a relatively cheap check. Since we atomically check and set `merge_requests.rebase_jid`, we should never enqueue two `RebaseWorker` jobs in parallel.
2019-08-15Allow disabling group/project email notificationsBrett Walker
- Adds UI to configure in group and project settings - Removes notification configuration for users when disabled at group or project level
2019-08-14Merge branch 'sh-optimize-commit-deltas-post-receive' into 'master'Nick Thomas
Reduce Gitaly calls in PostReceive Closes #65878 See merge request gitlab-org/gitlab-ce!31741
2019-08-14Enable DAG support by defaultKamil Trzciński
This toggles the ci_dag_support flag to be on by default. This relies on ci_dag_limit_needs to be present to reduce amount of inter-dependencies between jobs
2019-08-14Merge branch 'optimise-dag-processing' into 'master'Grzegorz Bizon
Optimise dag processing See merge request gitlab-org/gitlab-ce!31768
2019-08-14Optimise DAG processingKamil Trzciński
2019-08-14Merge branch 'expand-variables-only-when-needed' into 'master'Stan Hu
Expand variables only when needed See merge request gitlab-org/gitlab-ce!31772
2019-08-13Rework retry strategy for remote mirrorsBob Van Landuyt
**Prevention of running 2 simultaneous updates** Instead of using `RemoteMirror#update_status` and raise an error if it's already running to prevent the same mirror being updated at the same time we now use `Gitlab::ExclusiveLease` for that. When we fail to obtain a lease in 3 tries, 30 seconds apart, we bail and reschedule. We'll reschedule faster for the protected branches. If the mirror already ran since it was scheduled, the job will be skipped. **Error handling: Remote side** When an update fails because of a `Gitlab::Git::CommandError`, we won't track this error in sentry, this could be on the remote side: for example when branches have diverged. In this case, we'll try 3 times scheduled 1 or 5 minutes apart. In between, the mirror is marked as "to_retry", the error would be visible to the user when they visit the settings page. After 3 tries we'll mark the mirror as failed and notify the user. We won't track this error in sentry, as it's not likely we can help it. The next event that would trigger a new refresh. **Error handling: our side** If an unexpected error occurs, we mark the mirror as failed, but we'd still retry the job based on the regular sidekiq retries with backoff. Same as we used to The error would be reported in sentry, since its likely we need to do something about it.
2019-08-13Expand variables only when neededKamil Trzciński
This makes us to expand variables only when needed, instead of requesting all variables each time. This specifically helps in situation when explicit name of `environment: production` is used.
2019-08-13Merge branch '65803-invalidate-branches-cache-on-refresh' into 'master'Bob Van Landuyt
Only expire branch cache once per push See merge request gitlab-org/gitlab-ce!31653
2019-08-13Reduce Gitaly calls in PostReceiveStan Hu
This commit reduces I/O load and memory utilization during PostReceive for the common case when no project hooks or services are set up. We saw a Gitaly N+1 issue in `CommitDelta` when many tags or branches are pushed. We can reduce this overhead in the common case because we observe that most new projects do not have any Web hooks or services, especially when they are first created. Previously, `BaseHooksService` unconditionally iterated through the last 20 commits of each ref to build the `push_data` structure. The `push_data` structured was used in numerous places: 1. Building the push payload in `EventCreateService` 2. Creating a CI pipeline 3. Executing project Web or system hooks 4. Executing project services 5. As the return value of `BaseHooksService#execute` 6. `BranchHooksService#invalidated_file_types` We only need to generate the full `push_data` for items 3, 4, and 6. Item 1: `EventCreateService` only needs the last commit and doesn't actually need the commit deltas. Item 2: In addition, `Ci::CreatePipelineService` only needed a subset of the parameters. Item 5: The return value of `BaseHooksService#execute` also wasn't being used anywhere. Item 6: This is only used when pushing to the default branch, so if many tags are pushed we can save significant I/O here. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65878 Fic
2019-08-13Improve quick action error messagesHeinrich Lee Yu
Standardize punctuation and format
2019-08-12Merge branch 'alipniagov-fix-wiki_can_not_be_created_total-counter' into ↵Thong Kuah
'master' Fix :wiki_can_not_be_created_total counter See merge request gitlab-org/gitlab-ce!31673
2019-08-09Fix :wiki_can_not_be_created_total counterAleksei Lipniagov
2019-08-09Merge branch 'app-differences' into 'master'Rémy Coutable
Backport EE changes to Members::BaseService See merge request gitlab-org/gitlab-ce!31581
2019-08-09Invalidate branches cache on PostReceivePatrick Bajao
Whenever `PostReceive` is enqueued, `UpdateMergeRequestsWorker` is enqueued and `MergeRequests::RefreshService` is called, it'll check if the source branch of each MR asssociated to the push exists or not via `MergeRequest#source_branch_exists?`. The said method will call `Repository#branch_exists?` which is cached in `Rails.cache`. When the cache contains outdated data and the source branch actually exists, the `MergeRequests#RefreshService` job will close associated MRs which is not correct. The fix is to expire the branches cache of the project so we have updated data during the post receive hook which will help in the accuracy of the check if we need to close associated MRs or not.
2019-08-08Record usage on snippet usageMark Chao
Generalize wiki page counter for other page types to extend to.
2019-08-08Backport EE changes to Members::BaseServiceYorick Peterse
EE made some small changes to this class, but these changes were not backported to CE.
2019-08-08CE port for bulk updating group labelsEugenia Grieff
- Original EE MR: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14827
2019-08-07Save instance administration project id in DBReuben Pereira
- This will make it easy to identify the project even if admins change the name of the project or move it.
2019-08-07Support dashboard params for metrics dashboardSarah Yasonik
https://gitlab.com/gitlab-org/gitlab-ce/issues/62971 Adds support to EnvironmentsController#metrics_dashboard for the following params: group, title, y_label These params are used to uniquely identify a panel on the metrics dashboard. Metrics are stored in several places, so this adds utilities to find a specific panel from the database or filesystem depending on the metric specified. Also moves some shared utilities into separate classes, notably default values and errors.
2019-08-07Merge branch 'sh-disable-registry-delete' into 'master'Thong Kuah
Don't attempt to contact registry if it is disabled See merge request gitlab-org/gitlab-ce!31553
2019-08-07Use separate Kubernetes namespaces per environmentTiger Watson
Kubernetes deployments on new clusters will now have a separate namespace per project environment, instead of sharing a single namespace for the project. Behaviour of existing clusters is unchanged. All new functionality is controlled by the :kubernetes_namespace_per_environment feature flag, which is safe to enable/disable at any time.
2019-08-07Convert RestClient to Gitlab::HTTP for Prometheus MonitorDavid Wilkins
- Closes #60024 - Change PrometheusClient.new to accept a base url instead of an already created RestClient - Use Gitlab::HTTP in PrometheusClient instead of creating RestClient in PrometheusService - Move http_options from PrometheusService to PrometheusClient (follow_redirects: false) - ensure that base urls don't have the trailing slash - Created a `PrometheusClient#url` method that might not be strictly required - Change rescued exceptions from RestClient::* to HTTParty::ResponseError where possible and StandardError for the rest
2019-08-06Don't attempt to contact registry if it is disabledStan Hu
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21679 moved the deletion of registry tags outside of a transaction, but introduced an issue where Sidekiq would attempt to contact the container registry during project destruction even if it were disabled. Relates to: * https://gitlab.com/charts/gitlab/issues/1455 * https://gitlab.com/gitlab-org/gitlab-ce/issues/45941
2019-08-05Merge branch 'prefer-to-use-process-pipeline-worker' into 'master'Sean McGivern
Extend PipelineProcessWorker to accept a list of builds See merge request gitlab-org/gitlab-ce!31425
2019-08-05Merge branch 'georgekoltsov/55474-outbound-setting-system-hooks' into 'master'Rémy Coutable
Add outbound setting for system hooks See merge request gitlab-org/gitlab-ce!31177
2019-08-02Extend PipelineProcessWorker to accept a list of buildsKamil Trzciński
This changes used worker from `BuildProcessWorker` to `PipelineProcessWorker` to make pipeline processing much simpler. We process `pipeline_id`, based on some triggers.
2019-08-02Properly process `needs:` with `when:`Kamil Trzciński
Currently, some of the jobs with `needs:` would be processed in stages, it means that `when:` for such jobs would not be respected. This changes the behavior to have a separate execution paths for jobs with `needs:`.
2019-08-02Add outbound requests setting for system hooksGeorge Koltsov
This MR adds new application setting to network section `allow_local_requests_from_system_hooks`. Prior to this change system hooks were allowed to do local network requests by default and we are adding an ability for admins to control it.
2019-08-01Merge branch 'ce-docker_image_replication' into 'master'Douglas Barbosa Alexandre
Backport of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3809 See merge request gitlab-org/gitlab-ce!31375
2019-08-01Backport of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3809Valery Sizov
Introducing Docker Registry replication
2019-08-01Merge branch 'osw-avoid-errors-due-to-concurrent-calls' into 'master'Douwe Maan
Add exclusive lease to mergeability check process See merge request gitlab-org/gitlab-ce!31082
2019-08-01Add support for DAGKamil Trzciński
This implements the support for `needs:` keyword as part of GitLab CI. That makes some of the jobs to be run out of order.
2019-08-01Add exclusive lease to mergeability check processOswaldo Ferreira
Concurrent calls to UserMergeToRef RPC updating a single ref can lead to an opaque fail that is being rescued at Gitaly. So this commit adds an exclusive lease to the mergeability check process with the key as the current MR ID.
2019-07-31Add prometheus listen address to whitelistReuben Pereira
- Add to whitelist so that even if local requests from hooks and services are not allowed, the prometheus manual configuration will still succeed.
2019-07-31Ensure default metrics embed is cachedSarah Yasonik
2019-07-30Ignore Gitaly errors if cache flushing fails on project destructionStan Hu
We should just ignore these errors and move along with the deletion since the repositories are going to be trashed anyway. Closes https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31164
2019-07-30Merge branch ↵Robert Speicher
'63547-add-system-notes-for-when-a-zoom-call-was-added-removed-from-an-issue' into 'master' Resolve "Add system notes for when a zoom call was added/removed from an issue" Closes #63547 See merge request gitlab-org/gitlab-ce!30857
2019-07-30Move BaseService to Services directorySarah Yasonik
In preparation for embedding specific metrics in issues https://gitlab.com/gitlab-org/gitlab-ce/issues/62971, this commit moves the BaseService for metrics dashboards to a new services subdirectory. This is purely for the sake of organization and maintainability.
2019-07-30Make quick action "commands applied" banner more useful🙈 jacopo beschi 🙉
Extends the quick actions "commands applied" banner to show the quick action preview text, but with everything in past tense.
2019-07-29Add system notes for when a zoom call was added/removed from an issueJacopo
Add a zoom link added / removed system note when a zoom link is being added / removed to the issue description.
2019-07-29Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhqRobert Speicher
2019-07-29Refactor and remove #prepare_relation methodAndreas Brandl
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65054
2019-07-29Further remove code branches by database typeAndreas Brandl
We dropped MySQL support and a lot of mysql specific code has been removed in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29608. This comes in from the other direction and removes any `if postgresql?` branches.