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-29Handle invalid mirror urlLee Tickett
2019-08-28Save board lists collapsed settingFelipe Artur
Persists if a board list is collapsed for each user.
2019-08-28Adding NOT NULL constraint to private_profileAdam Hegyi
This change sets NOT NULL constraint to users.private profile. closes https://gitlab.com/gitlab-org/gitlab-ce/issues/57538
2019-08-28Merge branch 'id-change-total-notes-calculation' into 'master'Ash McKenzie
Change the way totalNotes is calculated See merge request gitlab-org/gitlab-ce!32191
2019-08-28Merge branch 'sh-fix-issue-move-api' into 'master'Grzegorz Bizon
Fix moving issues API failing when text includes commit URLs Closes #66666 See merge request gitlab-org/gitlab-ce!32317
2019-08-28Fix moving issues API failing when text includes commit URLsStan Hu
When a issue is moved from one project to another, all associated Markdown text is rewritten in the context of the new project. If the note contained a link to a commit URL, `CommitRewriter#rewrite` would fail because `Commit#link_reference_pattern` would match `nil` `commit` values in the HTML generated from the Markdown. These `nil` values were passed along to `Project#commits_by` because `Commit#reference_valid?` was always returning `true`. To prevent this issue from happening, we tighten up the check for `Commit#reference_valid?` to look for valid SHA values. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66666
2019-08-28Merge branch 'todos/include-issue-mr-titles' into 'master'Stan Hu
Add Issue and Merge Request titles to Todo items Closes #63488 See merge request gitlab-org/gitlab-ce!30435
2019-08-28Change the way totalNotes is calculatedIgor Drozdov
totalNotes is only used to prerender a number of skeleton containers until real notes are loaded issuable.discussions makes multiple requests, so too expensive for this This commit uses mere notes for this and sends actual totalNotes number if it's less than 10; otherwise it sends 10 - it allows us to avoid bunch of skeleton prerenderings, which are not necessary since they doesn't fit into the whole screen and disappear quite fast
2019-08-28Add Issue and Merge Request titles to Todo itemsArun Kumar Mohan
Only displays the todo body if the todo has a note. This is to avoid redundant Issue or Merge Request titles displayed both in the Todo title and body.
2019-08-27Use `stub_full_request` to fix spec failureHeinrich Lee Yu
Also change test URL sequest to .test TLD
2019-08-26Using before_save method instead of setterAishwarya Subramanian
Removed unused method for name setter method
2019-08-26Remove the object pools feature flagZeger-Jan van de Weg
The flag defaulted to true, so there's no change unless users turned it off. Given there's a lack of issues regarding object pools, this should be OK.
2019-08-23Merge branch '66037-deployment-user' into 'master'Tim Zallmann
Return correct user for manual deployments See merge request gitlab-org/gitlab-ce!32004
2019-08-23Implement validation logic to ProjectStageAdam Hegyi
- Introducting StageEvents to define the available events - Define the event pairing rules, since some events are not compatible - Express default Cycle Analytics stages with the event structure
2019-08-23Merge branch 'optimise-build-queue-service' into 'master'Grzegorz Bizon
Optimise UpdateBuildQueueService Closes #66438 See merge request gitlab-org/gitlab-ce!32095
2019-08-23Expose namespace storage statistics with GraphQLAlessio Caiazza
Root namespaces have storage statistics. This commit allows namespace owners to get those stats via GraphQL queries like the following one { namespace(fullPath: "a_namespace_path") { rootStorageStatistics { storageSize repositorySize lfsObjectsSize buildArtifactsSize packagesSize wikiSize } } }
2019-08-22Merge branch 'avoid-race-condition-of-archive-trace-cron-worker' into 'master'Kamil Trzciński
Avoid conflicts between ArchiveTracesCronWorker and ArchiveTraceWorker See merge request gitlab-org/gitlab-ce!31376
2019-08-22Extract logic who created deployment into Deployment#deployed_byKrasimir Angelov
Prefer the deployable user over the deployment user. Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/66037.
2019-08-22Optimise build queue serviceKamil Trzciński
This makes BuildQueueService to force refresh runners that are considered to have recent queue. Such runners are the ones that connected within online interval + time to expire runner cache.
2019-08-22Avoid conflicts between ArchiveTraceWorkersShinya Maeda
This commits avoiding conflicts between ArchiveTraceWorker and ArchiveTracesCronWorker by changing the target of the latter worker.
2019-08-21Add service classes for mutating AwardEmojiLuke Duncalfe
Adding, destroying and toggling emoji previously lacked services and instead were performed through methods called on Awardable models. This led to inconsistencies where relevant todos would be marked as done only when emoji were awarded through our controllers, but not through the API. Todos could also be marked as done when an emoji was being removed. Behaviour changes - Awarding emoji through the API will now mark a relevant Todo as done - Toggling an emoji off (destroying it) through our controllers will no longer mark a relevant Todo as done Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/63372
2019-08-19Merge branch '64251-branch-name-set-cache' into 'master'Robert Speicher
Cache branch and tag names as Redis sets See merge request gitlab-org/gitlab-ce!30476
2019-08-19Merge branch '39-count-unique-users-for-more-accurate-smau-reporting' into ↵Nick Thomas
'master' Allow UsageData.count to use count_by: See merge request gitlab-org/gitlab-ce!30770
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-16Merge branch 'mc/feature/pipeline-tracking-config-ce' into 'master'Kamil Trzciński
Add `needs:` CI config option CE Closes gitlab-ee#12334 See merge request gitlab-org/gitlab-ce!31346
2019-08-16Cache branch and tag names as Redis setsNick Thomas
This allows us to check inclusion for the *_exists? methods without downloading the full list of branch names, which is over 100KiB in size for gitlab-ce at the moment.
2019-08-15Migrations for Cycle Analytics backendAdam Hegyi
This change lays the foundation for customizable cycle analytics stages. The main reason for the change is to extract the event definitions to separate objects (start_event, end_event) so that it could be easily customized later on.
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-14Merge branch '66008-fix-project-image-in-slack-notifications' into 'master'Robert Speicher
Fix project avatar image in Slack pipeline notifications Closes #66008 See merge request gitlab-org/gitlab-ce!31788
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-13Fix project image in Slack pipeline notificationsNathan Friend
This commit fixes the project avatar images that are rendered in the footer of Slack pipeline notifications. Previously, the image URLs provided to Slack were relative URLs; now they are absolute.
2019-08-13Only expire tag cache once per pushStan Hu
Previously each tag in a push would invoke the Gitaly `FindAllTags` RPC since the tag cache would be invalidated with every tag. We can eliminate those extraneous calls by expiring the tag cache once in `PostReceive` and taking advantage of the cached tags. Relates to https://gitlab.com/gitlab-org/gitlab-ce/issues/65795
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-13Fix performance issue in Helm#can_uninstall?Dylan Griffith
Calling #present? was causing a DB query to happen each time around the loop. We only wanted to check for nil as it's nil in the first loop around so there is no need for #present?
2019-08-12Merge branch 'sh-break-out-invited-group-members' into 'master'Ash McKenzie
Make it easier to find invited group members Closes #61948 See merge request gitlab-org/gitlab-ce!28436
2019-08-12Improve spec description in member_spec.rbStan Hu
2019-08-10Split MR widget into cached and non-cached serializersIgor
Splits auto-refreshing of MR widget into 2 requests: - the one which uses etag-caching and invalidates the fields on change - the one without caching The idea is to gradually move all the fields to etag-cached endpoint
2019-08-09Merge branch 'master' into sh-break-out-invited-group-membersStan Hu
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-09Rename search_invited to search_invite_emailStan Hu
2019-08-09Merge branch '39217-remove-kubernetes-service-integration' into 'master'James Lopez
Remove KubernetesService integration See merge request gitlab-org/gitlab-ce!31365
2019-08-08Bring scoped environment variables to coreHordur Freyr Yngvason
As decided in https://gitlab.com/gitlab-org/gitlab-ce/issues/53593
2019-08-08Final removal of KubernetesServiceTiger
Creating new records has been disabled, and all existing records been migrated to clusters as of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/28534
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 'master' into sh-break-out-invited-group-membersStan Hu
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.