Commit Graph

10 Commits

Author SHA1 Message Date
Luke Duncalfe 1883e320ea Use Gitlab::PushOptions for `ci.skip` push option
Previously the raw push option Array was sent to Pipeline::Chain::Skip.

This commit updates this class (and the chain of classes that pass the
push option parameters from the API internal `post_receive` endpoint to
that class) to treat push options as a Hash of options parsed by
GitLab::PushOptions.

The GitLab::PushOptions class takes options like this:

    -o ci.skip -o merge_request.create -o merge_request.target=branch

and turns them into a Hash like this:

    {
      ci: {
        skip: true
      },
      merge_request: {
        create: true,
        target: 'branch'
      }
    }

This now how Pipeline::Chain::Skip is determining if the `ci.skip` push
option was used.
2019-04-09 10:03:26 +12:00
Jonathon Reinhart ba781484c7 Add support for Git push options, specifically ci.skip
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
2018-12-31 13:57:53 -05:00
Tiago Botelho 679d9b21b7
Removes idenfitication by commit from Gitlab::Identifier
Before we would need to identify a user when pushing
through the GitLab UI. Since this is no longer the case
we can remove the identification by commit and instead,
use the identify_using_user
2018-10-25 11:36:26 +01:00
Tiago Botelho f8ee07d9ee
User not defined in PostReceive#process_project_changes
When Gitlab::GitPostReceive#changes_refs is empty
user would not get defined and nil would be passed
to PostReceive#after_project_changes_hooks which would
then throw an error.
2018-10-25 11:23:34 +01:00
Francisco Javier López 🌴 (About to) On vacation; back on August 22th! 8402d67aab Code cleaning in PostReceive services 2018-07-31 14:07:24 +00:00
Gabriel Mazetto f661980904 Added repository_update hook 2017-05-12 23:26:48 +01:00
Alejandro Rodríguez 5249157552 Allow gl-repository strings as project identifiers in PostReceive worker 2017-05-05 10:51:55 -03:00
Adam Pahlevi a0586dbc16 replace `find_with_namespace` with `find_by_full_path`
add complete changelog for !8949
2017-02-03 07:14:04 +07:00
Jacob Vosmaer c74005e75c Log base64-decoded PostReceive arguments
The change to base64-encoding the third argument to PostReceive in
gitlab-shell made our Sidekiq ArgumentsLogger a little less useful.
This change adds a log statement for the decoded data.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/20381
2016-08-05 15:00:12 +02:00
Gabriel Mazetto f54bf00309 Back-porting PostReceive refactor made for EE 🍺 2016-03-17 00:24:12 -03:00