Add support for Git push options, specifically ci.skip
Jonathon Reinhart authored
gitlab-org/gitlab-shell!166 added support for collecting push options
from the environment, and passing them along to the
/internal/post_receive API endpoint.

This change handles the new push_options JSON element in the payload,
and passes them on through to the GitPushService and GitTagPushService
services.

Futhermore, it adds support for the first push option, ci.skip.  With
this change, one can use 'git push -o ci.skip' to skip CI pipe
execution. Note that the pipeline is still created, but in the "skipped"
state, just like with the 'ci skip' commit message text.

Implements #18667
ba781484
Name Last commit Last update
auth
background_migration
badge
bare_repository_import
bitbucket_import
bitbucket_server_import
cache
checks
ci
cleanup
cluster
config
conflict
cross_project_access
cycle_analytics
data_builder
database
dependency_linker
diff
discussions_diff
downtime_check
email
etag_caching
fogbugz_import
gfm
git
git_access_result
gitaly_client
github_import
gitlab_import
google_code_import
gpg
grape_logging
graphql
graphs
hashed_storage
health_checks
hook_data
i18n
import
import_export
kubernetes
legacy_github_import
manifest_import
metrics
middleware
patch
performance_bar
popen
profiler
project_authorizations
prometheus
query_limiting
quick_actions
redis
request_profiler
sanitizers
search
serializer
sherlock
sidekiq_logging
sidekiq_middleware
sidekiq_status
sidekiq_versioning
slash_commands
sql
template
testing
utils
verify
view/presenter
webpack
access.rb
action_rate_limiter.rb
allowable.rb
app_logger.rb
asciidoc.rb
audit_json_logger.rb
auth.rb
background_migration.rb
base_doorkeeper_controller.rb
blame.rb
blob_helper.rb
branch_push_merge_commit_analyzer.rb
build_access.rb
changes_list.rb
chat_name_token.rb
ci_access.rb
closing_issue_extractor.rb
color_schemes.rb
config_helper.rb
contributions_calendar.rb
contributor.rb
correlation_id.rb
cross_project_access.rb
crypto_helper.rb
current_settings.rb
daemon.rb
database.rb
dependency_linker.rb
downtime_check.rb
ee_compat_check.rb
emoji.rb
encoding_helper.rb
environment.rb
environment_logger.rb
exclusive_lease.rb
exclusive_lease_helpers.rb
fake_application_settings.rb
favicon.rb
file_detector.rb
file_finder.rb
file_markdown_link_builder.rb
file_type_detection.rb
git.rb
git_access.rb
git_access_wiki.rb
git_logger.rb
git_post_receive.rb
git_ref_validator.rb
gitaly_client.rb
github_import.rb
gl_id.rb
gl_repository.rb
gon_helper.rb
gpg.rb
graphql.rb
highlight.rb
http.rb
http_io.rb
i18n.rb
identifier.rb
import_export.rb
import_formatter.rb
import_sources.rb
incoming_email.rb
insecure_key_fingerprint.rb
issuable_metadata.rb
issuable_sorter.rb
issuables_count_for_state.rb
issues_labels.rb
job_waiter.rb
json_cache.rb
json_logger.rb
kubernetes.rb
language_data.rb
language_detection.rb
lazy.rb
lfs_token.rb
logger.rb
mail_room.rb
markup_helper.rb
metrics.rb
multi_collection_paginator.rb
namespace_sanitizer.rb
null_request_store.rb
object_hierarchy.rb
omniauth_initializer.rb
optimistic_locking.rb
other_markup.rb
otp_key_rotator.rb
pages.rb
pages_client.rb
pages_transfer.rb
path_regex.rb
performance_bar.rb
plugin.rb
plugin_logger.rb
polling_interval.rb
popen.rb
private_commit_email.rb
profiler.rb