gitlab-org--gitlab-foss/app/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 Merge branch 'build-chunks-on-object-storage' into 'master' 2018-07-06 11:38:07 +00:00
concerns Delete todos when users loses target read permissions 2018-07-30 13:29:18 +02:00
gitlab/github_import Support LFS objects when creating a project by import 2018-06-06 16:42:18 +00:00
mail_scheduler Enable frozen string for app/workers/**/*.rb 2018-06-27 01:12:01 -07:00
object_storage Updates from rubocop -a 2018-07-09 21:13:08 +08:00
repository_check Enable frozen string in newly added files 2018-07-21 19:00:50 -07:00
todos_destroyer Remove todos when project feature visibility changes 2018-07-31 12:32:08 +02:00
admin_email_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
all_queues.yml Add repository languages for projects 2018-08-01 18:58:29 +02:00
archive_trace_worker.rb Fix spec 2018-07-05 10:52:50 +09:00
authorized_projects_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
background_migration_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_coverage_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_finished_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_hooks_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_queue_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_success_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
build_trace_sections_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
cluster_install_app_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
cluster_provision_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
cluster_wait_for_app_installation_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
cluster_wait_for_ingress_ip_address_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
create_gpg_signature_worker.rb Create GPG commit signature in bulk 2018-07-30 16:55:28 +00:00
create_note_diff_file_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
create_pipeline_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
delete_diff_files_worker.rb Enable frozen string in newly added files 2018-07-21 19:00:50 -07:00
delete_merged_branches_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
delete_user_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
detect_repository_languages_worker.rb Add repository languages for projects 2018-08-01 18:58:29 +02:00
email_receiver_worker.rb Resolve Naming/UncommunicativeMethod 2018-07-09 21:13:08 +08:00
emails_on_push_worker.rb Improve email address parsing 2018-07-19 12:37:59 +05:30
expire_build_artifacts_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
expire_build_instance_artifacts_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
expire_job_cache_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
expire_pipeline_cache_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
git_garbage_collect_worker.rb Fix ArgumentError in GitGarbageCollectWorker Sidekiq job 2018-07-10 15:11:10 -07:00
gitlab_shell_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
gitlab_usage_ping_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
group_destroy_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
import_export_project_cleanup_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
invalid_gpg_signature_update_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
irker_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
issue_due_scheduler_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
merge_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
namespaceless_project_destroy_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
new_issue_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
new_merge_request_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
new_note_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pages_domain_verification_cron_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pages_domain_verification_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pages_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_hooks_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_metrics_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_notification_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_process_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_schedule_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_success_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
pipeline_update_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
plugin_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
post_receive.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
process_commit_worker.rb Fix ProcessCommitWorker when upstream project is deleted 2018-07-10 17:11:31 +01:00
project_cache_worker.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.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
project_export_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
project_migrate_hashed_storage_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
project_service_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
propagate_service_template_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
prune_old_events_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
prune_web_hook_logs_worker.rb Prune web hook logs older than 90 days 2018-07-02 12:48:57 +02:00
reactive_caching_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
rebase_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
remove_expired_group_links_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
remove_expired_members_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
remove_old_web_hook_logs_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
remove_unreferenced_lfs_objects_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
repository_archive_cache_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
repository_fork_worker.rb Merge branch 'security-event-counters-private-data' into 'master' 2018-07-24 20:25:25 +00:00
repository_import_worker.rb Merge branch 'fj-6860-instance-level-project-templates' into 'master' 2018-08-01 08:54:23 +00:00
repository_remove_remote_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
repository_update_remote_mirror_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
requests_profiles_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
run_pipeline_schedule_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
stage_update_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
storage_migrator_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
stuck_ci_jobs_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
stuck_import_jobs_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
stuck_merge_jobs_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
system_hook_push_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
trending_projects_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
update_head_pipeline_for_merge_request_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
update_merge_requests_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
upload_checksum_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
wait_for_cluster_creation_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00
web_hook_worker.rb Enable frozen string literals for app/workers/*.rb 2018-06-27 07:23:28 +00:00