gitlab-org--gitlab-foss/spec/workers
Zeger-Jan van de Weg 79a5d76801
Add repository languages for projects
Our friends at GitHub show the programming languages for a long time,
and inspired by that this commit means to create about the same
functionality.

Language detection is done through Linguist, as before, where the
difference is that we cache the result in the database. Also, Gitaly can
incrementaly scan a repository. This is done through a shell out, which
creates overhead of about 3s each run. For now this won't be improved.

Scans are triggered by pushed to the default branch, usually `master`.
However, one exception to this rule the charts page. If we're requesting
this expensive data anyway, we just cache it in the database.

Edge cases where there is no repository, or its empty are caught in the
Repository model. This makes use of Redis caching, which is probably
already loaded.

The added model is called RepositoryLanguage, which will make it harder
if/when GitLab supports multiple repositories per project. However, for
now I think this shouldn't be a concern. Also, Language could be
confused with the i18n languages and felt like the current name was
suiteable too.

Design of the Project#Show page is done with help from @dimitrieh. This
change is not visible to the end user unless detections are done.
2018-08-01 18:58:29 +02:00
..
ci Prevent WRITE opetaions if it's already archived 2018-07-05 10:56:15 +09:00
concerns Merge branch 'security-event-counters-private-data' into 'master' 2018-07-24 20:25:25 +00:00
gitlab/github_import Don't expose project names in various counters 2018-06-21 16:56:40 +02:00
mail_scheduler Move NotificationService calls to Sidekiq 2018-04-25 12:48:14 +01:00
repository_check Add ExclusiveLease guards for RepositoryCheck::{DispatchWorker,BatchWorker} 2018-07-06 10:11:59 -07:00
todos_destroyer Remove todos when project feature visibility changes 2018-07-31 12:32:08 +02:00
admin_email_worker_spec.rb Do not send repository check mails when they are disabled 2018-05-07 09:42:09 +02:00
archive_trace_worker_spec.rb Fix tests by latest proposal changes 2018-03-06 21:44:15 +09:00
authorized_projects_worker_spec.rb Extract WaitableWorker out of AuthorizedProjectsWorker 2018-02-26 13:25:58 +01:00
background_migration_worker_spec.rb Run background migrations with a minimum interval 2018-01-05 16:23:25 +01:00
build_coverage_worker_spec.rb
build_finished_worker_spec.rb Fix tests by latest proposal changes 2018-03-06 21:44:15 +09:00
build_hooks_worker_spec.rb
build_success_worker_spec.rb
build_trace_sections_worker_spec.rb
cluster_provision_worker_spec.rb
cluster_wait_for_ingress_ip_address_worker_spec.rb Remove redundant code and increase delay for ClusterWaitForIngressIpAddressWorker (#42643) 2018-02-25 12:50:03 +11:00
create_gpg_signature_worker_spec.rb Fix typos in CreateGpgSignatureWorker spec 2018-07-30 20:17:19 +00:00
create_note_diff_file_worker_spec.rb Persist truncated note diffs on a new table 2018-05-24 15:34:43 -03:00
create_pipeline_worker_spec.rb
delete_diff_files_worker_spec.rb Delete non-latest merge request diff files upon diffs reload 2018-06-24 18:01:37 -03:00
delete_merged_branches_worker_spec.rb
delete_user_worker_spec.rb Prefer expect_next_instance_of over expect_any_instance_of 2018-06-25 20:28:49 +08:00
detect_repository_languages_worker_spec.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
email_receiver_worker_spec.rb
emails_on_push_worker_spec.rb Improve email address parsing 2018-07-19 12:37:59 +05:30
every_sidekiq_worker_spec.rb Fix queue_name in Rails 5 2018-06-14 23:21:12 +02:00
expire_build_artifacts_worker_spec.rb
expire_build_instance_artifacts_worker_spec.rb Use job_artifacts_archive|metadata 2017-12-03 12:04:49 +01:00
expire_job_cache_worker_spec.rb
expire_pipeline_cache_worker_spec.rb
git_garbage_collect_worker_spec.rb Remove Repository#path memoization 2018-07-12 09:49:25 +00:00
gitlab_shell_worker_spec.rb Backport authorized_keys_enabled defaults to true' 2018-01-08 20:34:20 +00:00
gitlab_usage_ping_worker_spec.rb
group_destroy_worker_spec.rb
invalid_gpg_signature_update_worker_spec.rb
issue_due_scheduler_worker_spec.rb Ignore ordering in IssueDueSchedulerWorker spec 2018-04-20 09:41:10 +02:00
merge_worker_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
namespaceless_project_destroy_worker_spec.rb Makes namespaceless project destroy worker spec not depend on a specific migration version 2018-04-30 09:54:44 +01:00
new_issue_worker_spec.rb Initial work to add notification reason to emails 2018-01-16 19:17:55 -06:00
new_merge_request_worker_spec.rb Initial work to add notification reason to emails 2018-01-16 19:17:55 -06:00
new_note_worker_spec.rb
pages_domain_verification_cron_worker_spec.rb Add DNS verification to Pages custom domains 2018-02-23 12:22:29 +00:00
pages_domain_verification_worker_spec.rb Add DNS verification to Pages custom domains 2018-02-23 12:22:29 +00:00
pipeline_hooks_worker_spec.rb
pipeline_metrics_worker_spec.rb
pipeline_notification_worker_spec.rb
pipeline_process_worker_spec.rb
pipeline_schedule_worker_spec.rb Resolve "Rename the Master role to Maintainer" Backend 2018-07-11 14:36:08 +00:00
pipeline_success_worker_spec.rb
pipeline_update_worker_spec.rb
plugin_worker_spec.rb Refactor plugins feature and make some doc improvements 2018-02-28 12:16:23 +02:00
post_receive_spec.rb Update project activity when pushing to a wiki repository 2018-03-07 17:16:14 -03:00
process_commit_worker_spec.rb Fix ProcessCommitWorker when upstream project is deleted 2018-07-10 17:11:31 +01:00
project_cache_worker_spec.rb Revert "Merge branch '44726-cancel_lease_upon_completion_in_project_cache_worker' into 'master'" 2018-07-04 11:04:58 +00:00
project_destroy_worker_spec.rb Find and mark more Git disk access locations, part 2 2018-06-12 14:33:37 +02:00
project_export_worker_spec.rb Extend API for exporting a project with direct upload URL 2018-03-30 15:45:59 +00:00
project_migrate_hashed_storage_worker_spec.rb Add helper methods to stub Gitlab::ExclusiveLease 2018-06-28 19:24:40 -03:00
propagate_service_template_worker_spec.rb Add helper methods to stub Gitlab::ExclusiveLease 2018-06-28 19:24:40 -03:00
prune_old_events_worker_spec.rb
prune_web_hook_logs_worker_spec.rb Prune web hook logs older than 90 days 2018-07-02 12:48:57 +02:00
reactive_caching_worker_spec.rb
rebase_worker_spec.rb Backport 'Rebase' feature from EE to CE 2018-01-05 09:34:59 +01:00
remove_expired_group_links_worker_spec.rb
remove_expired_members_worker_spec.rb
remove_old_web_hook_logs_worker_spec.rb
remove_unreferenced_lfs_objects_worker_spec.rb
repository_fork_worker_spec.rb Move forking to Gitaly 2018-06-19 13:30:54 +02:00
repository_import_worker_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
repository_remove_remote_worker_spec.rb Add helper methods to stub Gitlab::ExclusiveLease 2018-06-28 19:24:40 -03:00
repository_update_remote_mirror_worker_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
run_pipeline_schedule_worker_spec.rb Address some comments with running a pipeline schedule 2017-12-12 15:07:23 -08:00
stage_update_worker_spec.rb
storage_migrator_worker_spec.rb Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs' 2018-07-23 15:34:54 +11:00
stuck_ci_jobs_worker_spec.rb Add helper methods to stub Gitlab::ExclusiveLease 2018-06-28 19:24:40 -03:00
stuck_import_jobs_worker_spec.rb Updates from rubocop -a 2018-07-09 21:13:08 +08:00
stuck_merge_jobs_worker_spec.rb Prevent worker that updates merge requests head pipeline from failing jobs 2017-12-13 13:36:52 -02:00
system_hook_push_worker_spec.rb
trending_projects_worker_spec.rb
update_head_pipeline_for_merge_request_worker_spec.rb Prevent worker that updates merge requests head pipeline from failing jobs 2017-12-13 13:36:52 -02:00
update_merge_requests_worker_spec.rb Implement expect_next_instance_of and use it 2018-06-21 16:32:07 +08:00
upload_checksum_worker_spec.rb port of 594e6a0a625^..f74c90f68c6 2018-02-01 12:14:46 -05:00
wait_for_cluster_creation_worker_spec.rb