gitextract_m1o94eo4/ ├── .gitignore ├── .haml-lint.yml ├── .rspec ├── .rubocop.yml ├── .rubocop_todo.yml ├── .ruby-version ├── .travis.yml ├── CONTRIBUTING.md ├── Capfile ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── app/ │ ├── assets/ │ │ ├── javascripts/ │ │ │ └── application.js │ │ └── stylesheets/ │ │ └── screen.sass │ ├── controllers/ │ │ ├── application_controller.rb │ │ ├── branches_controller.rb │ │ ├── build_artifacts_controller.rb │ │ ├── build_attempts_controller.rb │ │ ├── build_parts_controller.rb │ │ ├── builds_controller.rb │ │ ├── concerns/ │ │ │ └── build_attempts_queue_position.rb │ │ ├── dashboards_controller.rb │ │ ├── pull_requests_controller.rb │ │ ├── repositories_controller.rb │ │ └── status_controller.rb │ ├── decorators/ │ │ ├── branch_decorator.rb │ │ └── build_part_decorator.rb │ ├── helpers/ │ │ ├── application_helper.rb │ │ ├── build_helper.rb │ │ ├── mail_helper.rb │ │ └── project_stats_helper.rb │ ├── jobs/ │ │ ├── build_attempt_job.rb │ │ ├── build_initiated_by_job.rb │ │ ├── build_partitioning_job.rb │ │ ├── build_state_update_job.rb │ │ ├── enforce_timeouts_job.rb │ │ ├── job_base.rb │ │ ├── poll_repositories_job.rb │ │ └── timeout_stuck_builds_job.rb │ ├── mailers/ │ │ ├── build_mailer.rb │ │ └── merge_mailer.rb │ ├── models/ │ │ ├── branch.rb │ │ ├── build.rb │ │ ├── build_artifact.rb │ │ ├── build_attempt.rb │ │ ├── build_part.rb │ │ ├── repository.rb │ │ └── repository_observer.rb │ ├── uploaders/ │ │ ├── base_log_file_uploader.rb │ │ ├── log_file_uploader.rb │ │ └── on_success_uploader.rb │ └── views/ │ ├── branches/ │ │ ├── health.html.haml │ │ ├── index.html.haml │ │ ├── show.html.haml │ │ ├── show.json.erb │ │ ├── show.rss.builder │ │ └── status_report.xml.builder │ ├── build_attempts/ │ │ ├── _build_attempt.html.haml │ │ └── stream_logs.html.haml │ ├── build_mailer/ │ │ ├── build_break_email.html.haml │ │ ├── build_break_email.text.erb │ │ ├── build_success_email.html.haml │ │ ├── build_success_email.text.erb │ │ ├── error_email.html.haml │ │ └── error_email.text.erb │ ├── build_parts/ │ │ ├── _build_attempts.html.haml │ │ ├── _build_part.html.haml │ │ └── show.html.haml │ ├── builds/ │ │ ├── _build.html.haml │ │ ├── _build_parts.html.haml │ │ └── show.html.haml │ ├── dashboards/ │ │ └── build_history_by_worker.html.haml │ ├── layouts/ │ │ └── application.html.haml │ ├── merge_mailer/ │ │ ├── merge_failed.text.erb │ │ └── merge_successful.html.erb │ └── repositories/ │ ├── _form.html.haml │ ├── dashboard.html.haml │ ├── edit.html.haml │ ├── index.html.haml │ └── new.html.haml ├── bin/ │ ├── bundle │ ├── rails │ ├── rake │ ├── setup │ └── spring ├── config/ │ ├── application.dev.yml │ ├── application.rb │ ├── application.test.yml │ ├── application.yml │ ├── boot.rb │ ├── compass.rb │ ├── database.production.yml.sample │ ├── database.yml │ ├── deploy/ │ │ └── production.rb │ ├── deploy.rb │ ├── environment.rb │ ├── environments/ │ │ ├── development.rb │ │ ├── production.rb │ │ ├── staging.rb │ │ └── test.rb │ ├── initializers/ │ │ ├── backtrace_silencers.rb │ │ ├── cocaine.rb │ │ ├── inflections.rb │ │ ├── load_build_strategy.rb │ │ ├── mime_types.rb │ │ ├── readthis.rb │ │ ├── redis.rb │ │ ├── resque.rb │ │ ├── secret_token.rb │ │ ├── session_store.rb │ │ └── wrap_parameters.rb │ ├── kochiku.yml │ ├── kochiku.yml.sample │ ├── locales/ │ │ └── en.yml │ ├── resque_schedule.yml │ └── routes.rb ├── config.ru ├── db/ │ ├── migrate/ │ │ ├── 20110621212000_create_schema.rb │ │ ├── 20110624003418_change_artifact_type_to_name.rb │ │ ├── 20110624015709_rename_build_part_result_result_to_state.rb │ │ ├── 20110708203120_change_build_artifacts_for_carrier_wave.rb │ │ ├── 20110713175724_rename_build_part_result_to_build_part_run.rb │ │ ├── 20110713191536_add_foreign_key_indexes.rb │ │ ├── 20110719204508_create_projects.rb │ │ ├── 20110719205413_add_project_id_to_builds.rb │ │ ├── 20110721185201_rename_builds_sha_to_ref.rb │ │ ├── 20110801215540_rename_error_state_to_errored.rb │ │ ├── 20120803005242_add_merge_bool_to_build.rb │ │ ├── 20120817225343_add_branch_to_build.rb │ │ ├── 20121008211955_create_repositories.rb │ │ ├── 20121017173936_add_github_repository_id_to_repository.rb │ │ ├── 20121017182543_fix_repository_schema.rb │ │ ├── 20121017184946_remove_options_from_repository.rb │ │ ├── 20121017222538_add_target_name_to_builds.rb │ │ ├── 20121017224003_add_command_flag_to_repositories.rb │ │ ├── 20121018182435_add_options_to_build_part.rb │ │ ├── 20121024005715_add_send_build_failure_email_to_repository.rb │ │ ├── 20121024164929_record_build_failure_email_sent.rb │ │ ├── 20121024210129_add_success_script_to_repositories.rb │ │ ├── 20121024212949_add_on_success_log_file_to_build.rb │ │ ├── 20121030213442_add_queue_to_repository.rb │ │ ├── 20121101220831_add_timeout_to_repository.rb │ │ ├── 20130226232844_add_index_to_build_ref.rb │ │ ├── 20130409144945_add_on_success_note_to_repositories.rb │ │ ├── 20130511012855_add_deployable_map_to_build.rb │ │ ├── 20130626183046_add_maven_modules_to_build.rb │ │ ├── 20130627194433_add_index_to_build_part_paths.rb │ │ ├── 20130709123456_add_upload_artifacts_to_build_parts.rb │ │ ├── 20130822191419_add_queue_to_build_part.rb │ │ ├── 20130822231850_remove_upload_artifacts_from_build_parts.rb │ │ ├── 20130823210844_add_retry_count_to_build_part.rb │ │ ├── 20130823231854_remove_java_specific_stuff.rb │ │ ├── 20130823234546_remove_queue_override_from_repositories.rb │ │ ├── 20130910190203_add_repository_name_as_column.rb │ │ ├── 20131217022000_add_error_text_to_build.rb │ │ ├── 20140123234208_add_allows_kochiku_merges_to_repository.rb │ │ ├── 20140128180258_rename_auto_merge_on_build.rb │ │ ├── 20140415001051_remove_use_branches_on_green_from_repositories.rb │ │ ├── 20140415011144_remove_command_flag_from_repositories.rb │ │ ├── 20140506012721_unique_index_on_builds_ref.rb │ │ ├── 20140507184819_add_host_and_namespace_to_repositories.rb │ │ ├── 20140617214701_add_success_email.rb │ │ ├── 20140715225910_remove_notes.rb │ │ ├── 20141031234747_add_email_first_failure_to_repositories.rb │ │ ├── 20150324001246_remove_on_success_script_from_repositories.rb │ │ ├── 20150331160909_add_send_merge_successful_email.rb │ │ ├── 20150714234635_add_log_port_to_build_attempt.rb │ │ ├── 20150717214656_create_branches.rb │ │ ├── 20150717220149_assign_builds_to_branches.rb │ │ ├── 20150717231250_remove_branch_string_from_builds.rb │ │ ├── 20150719130110_index_repositories_namespace_and_name.rb │ │ ├── 20151111080255_remove_repo_cache_dir_from_repositories.rb │ │ ├── 20151114185514_fix_convergence_index.rb │ │ ├── 20160408214135_index_created_at_on_build_attempts.rb │ │ ├── 20170804214538_add_enabled_bool_to_repositories.rb │ │ ├── 20180208202524_add_test_command_to_builds.rb │ │ ├── 20180220185338_add_assume_lost_after_to_repository.rb │ │ ├── 20180227222254_add_initiated_by_to_builds.rb │ │ ├── 20180301221320_add_instance_type_to_build_attempts.rb │ │ └── 20180619210823_add_kochiku_yml_config_to_builds.rb │ ├── schema.rb │ └── seeds.rb ├── lib/ │ ├── build_strategies/ │ │ ├── no_op_build_strategy.rb │ │ └── production_build_strategy.rb │ ├── capistrano/ │ │ └── tasks/ │ │ ├── deploy.cap │ │ └── kochiku.cap │ ├── fileless_io.rb │ ├── git_blame.rb │ ├── git_merge_executor.rb │ ├── git_repo.rb │ ├── github_commit_status.rb │ ├── github_post_receive_hook.rb │ ├── github_request.rb │ ├── partitioner/ │ │ ├── base.rb │ │ ├── default.rb │ │ ├── dependency_map.rb │ │ ├── go.rb │ │ ├── maven.rb │ │ └── topological_sorter.rb │ ├── partitioner.rb │ ├── remote_server/ │ │ ├── github.rb │ │ └── stash.rb │ ├── remote_server.rb │ ├── server_settings.rb │ ├── settings_accessor.rb │ ├── stash_merge_executor.rb │ └── tasks/ │ ├── .gitkeep │ ├── kochiku.rake │ └── resque.rake ├── public/ │ ├── 404.html │ ├── 422.html │ ├── 500.html │ ├── fonts/ │ │ └── SQMarket-Regular.otf │ └── robots.txt ├── script/ │ ├── ci │ └── kochiku-build.sh.sample ├── spec/ │ ├── controllers/ │ │ ├── branches_controller_spec.rb │ │ ├── build_artifacts_controller_spec.rb │ │ ├── build_attempts_controller_spec.rb │ │ ├── build_parts_controller_spec.rb │ │ ├── builds_controller_spec.rb │ │ ├── dashboards_controller_spec.rb │ │ ├── pull_requests_controller_spec.rb │ │ ├── repositories_controller_spec.rb │ │ └── status_controller_spec.rb │ ├── decorators/ │ │ ├── branch_decorator_spec.rb │ │ └── build_part_decorator_spec.rb │ ├── features/ │ │ └── integration_spec.rb │ ├── fixtures/ │ │ ├── build_artifact.log │ │ ├── sample_github_webhook_payload.json │ │ └── stdout.log │ ├── helpers/ │ │ ├── application_helper_spec.rb │ │ ├── build_helper_spec.rb │ │ └── project_stats_helper_spec.rb │ ├── jobs/ │ │ ├── build_partitioning_job_spec.rb │ │ ├── build_state_update_job_spec.rb │ │ ├── enforce_timeouts_job_spec.rb │ │ ├── poll_repositories_job_spec.rb │ │ └── timeout_stuck_builds_job_spec.rb │ ├── lib/ │ │ ├── build_strategies/ │ │ │ └── production_build_strategy_spec.rb │ │ ├── git_blame_spec.rb │ │ ├── git_merge_executor_spec.rb │ │ ├── git_repo_spec.rb │ │ ├── github_commit_status_spec.rb │ │ ├── github_post_receive_hook_spec.rb │ │ ├── github_request_spec.rb │ │ ├── partitioner/ │ │ │ ├── default_spec.rb │ │ │ ├── dependency_map_spec.rb │ │ │ ├── go_spec.rb │ │ │ ├── maven_spec.rb │ │ │ └── shared_default_behavior.rb │ │ ├── partitioner_spec.rb │ │ ├── remote_server/ │ │ │ ├── github_spec.rb │ │ │ └── stash_spec.rb │ │ ├── remote_server_spec.rb │ │ ├── server_settings_spec.rb │ │ ├── settings_accessor_spec.rb │ │ └── stash_merge_executor_spec.rb │ ├── mailers/ │ │ ├── build_mailer_spec.rb │ │ ├── merge_mailer_spec.rb │ │ └── previews/ │ │ └── build_mailer_preview.rb │ ├── models/ │ │ ├── branch_spec.rb │ │ ├── build_artifact_spec.rb │ │ ├── build_attempt_spec.rb │ │ ├── build_part_spec.rb │ │ ├── build_spec.rb │ │ ├── repository_observer_spec.rb │ │ └── repository_spec.rb │ ├── routes_spec.rb │ ├── spec_helper.rb │ └── support/ │ ├── command_stubber.rb │ ├── custom_argument_matchers.rb │ ├── factories.rb │ ├── git_spec_helper.rb │ └── sha_helper.rb └── vendor/ └── assets/ ├── javascripts/ │ ├── jquery.flot.categories.js │ ├── jquery.flot.errorbars.js │ ├── jquery.flot.js │ ├── jquery.tablesorter.js │ ├── jquery.timeago.js │ ├── jquery.tipTip.js │ └── moment.js └── stylesheets/ ├── tablesorter.theme.kochiku.css └── tipTip.scss