diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/commit_status.rb | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index f3888528940..6b07dbdf3ea 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -14,7 +14,6 @@ class CommitStatus < ActiveRecord::Base    delegate :sha, :short_sha, to: :pipeline    validates :pipeline, presence: true, unless: :importing? -    validates :name, presence: true, unless: :importing?    alias_attribute :author, :user @@ -46,6 +45,17 @@ class CommitStatus < ActiveRecord::Base      runner_system_failure: 4    } +  ## +  # We still create some CommitStatuses outside of CreatePipelineService. +  # +  # These are pages deployments and external statuses. +  # +  before_create unless: :importing? do +    Ci::EnsureStageService.new(project, user).execute(self) do |stage| +      self.run_after_commit { StageUpdateWorker.perform_async(stage.id) } +    end +  end +    state_machine :status do      event :process do        transition [:skipped, :manual] => :created | 
