• Fabio Pitino's avatar
    Detect if pipeline runs for a GitHub pull request · fd450ddc
    Fabio Pitino authored
    When using a mirror for CI/CD only we register a pull_request
    webhook. When a pull_request webhook is received, if the
    source branch SHA matches the actual head of the branch in the
    repository we create immediately a new pipeline for the
    external pull request. Otherwise we store the
    pull request info for when the push webhook is received.
    
    When using "only/except: external_pull_requests" we can detect
    if the pipeline has a open pull request on GitHub and create or
    not the job based on that.
    
    Feedback from review
    
    Split big non-transactional migration into smaller ones
    Refactorings by moving methods to relative models
    Return 422 when webhook has unsupported actions
    fd450ddc
create_github_webhook_worker.rb 996 Bytes