Skip to content
Snippets Groups Projects
  1. Sep 04, 2019
    • Kamil Trzcińśki's avatar
      Persist `needs:` validation as config error · 0a39a3d4
      Kamil Trzcińśki authored
      In case when `needs:` is missing, but when requested by service,
      we would not save the pipeline with config_error.
      
      This makes it explicit that we want to persist the error
      as `config_error` failure reason.
      0a39a3d4
  2. Aug 22, 2019
    • Kamil Trzcińśki's avatar
      Optimise build queue service · a5f61827
      Kamil Trzcińśki authored
      This makes BuildQueueService to force refresh runners
      that are considered to have recent queue.
      
      Such runners are the ones that connected within online
      interval + time to expire runner cache.
      a5f61827
  3. Aug 13, 2019
    • Kamil Trzcińśki's avatar
      Require `needs:` to be present · 93e95182
      Kamil Trzcińśki authored
      This changes the `needs:` logic to require
      that all jobs to be present. Instead of skipping
      do fail the pipeline creation if `needs:` dependency
      is not found.
      93e95182
  4. Aug 02, 2019
    • Kamil Trzcińśki's avatar
      Properly process `needs:` with `when:` · a2bbf7b8
      Kamil Trzcińśki authored
      Currently, some of the jobs with `needs:`
      would be processed in stages, it means
      that `when:` for such jobs would not be
      respected.
      
      This changes the behavior to have a separate
      execution paths for jobs with `needs:`.
      a2bbf7b8
    • Kamil Trzcińśki's avatar
      Make needs: to require previous jobs · 684751d3
      Kamil Trzcińśki authored
      This changes `needs:` from weak reference
      to have a strong reference.
      
      This means that job will not be created
      unless all needs are present as part of
      a pipeline.
      684751d3
  5. Aug 01, 2019
    • Kamil Trzcińśki's avatar
      Add support for DAG · e7ee84aa
      Kamil Trzcińśki authored
      This implements the support for `needs:` keyword
      as part of GitLab CI. That makes some of the jobs
      to be run out of order.
      e7ee84aa
  6. Jul 29, 2019
  7. Jul 23, 2019
  8. Jun 18, 2019
    • Shinya Maeda's avatar
      Revert concurrent pipeline schedule creation · 36b30cf1
      Shinya Maeda authored
      This commit reverts the previously introduced concurrent pipeline
      schedule creation which was a viable solution for mitigating
      inconsistent pipeline schedule by Sidekiq Memory Killer.
      36b30cf1
  9. Jun 17, 2019
    • Yorick Peterse's avatar
      Backport the EE schema and migrations to CE · 8469f59d
      Yorick Peterse authored
      This backports all EE schema changes to CE, including EE migrations,
      ensuring both use the same schema.
      
      == Updated tests
      
      A spec related to ghost and support bot users had to be modified to make
      it pass. The spec in question assumes that the "support_bot" column
      exists when defining the spec. In the single codebase setup this is not
      the case, as the column is backported in a later migration. Any attempt
      to use a different schema version or use of "around" blocks to
      conditionally disable specs won't help, as reverting the backport
      migration would also drop the "support_bot" column. Removing the
      "support_bot" tests entirely appears to be the only solution.
      
      We also need to update some foreign key tests now that we have
      backported the EE columns. Fortunately, these changes are very minor.
      
      == Backporting migrations
      
      This commit moves EE specific migrations (except those for the Geo
      tracking database) and related files to CE, and also removes any traces
      of the ee/db directory.
      
      Some migrations had to be modified or removed, as they no longer work
      with the schema being backported. These migrations were all quite old,
      so we opted for removing them where modifying them would take too much
      time and effort.
      
      Some old migrations were modified in EE, while also existing in CE. In
      these cases we took the EE code, and in one case removed them entirely.
      It's not worth spending time trying to merge these changes somehow as we
      plan to remove old migrations around the release of 12.0, see
      https://gitlab.com/gitlab-org/gitlab-ce/issues/59177 for more details.
      Verified
      8469f59d
  10. Jun 11, 2019
  11. Jun 05, 2019
  12. Jun 03, 2019
    • Shinya Maeda's avatar
      Make pipeline schedule worker resilient · 6a18a411
      Shinya Maeda authored
      Currently, pipeline schedule worker is unstable because it's
      sometimes killed by excessive memory consumption.
      In order to improve the performance, we add the following fixes:
      
      1. next_run_at is always real_next_run, which means the value
         always takes into account of worker's cron schedule
      1. Remove exlusive lock. This is already covered by real_next_run
         change.
      1. Use RunPipelineScheduleWorker for avoiding memory killer.
         Memory consumption is spread to the multiple sidekiq worker.
      6a18a411
  13. May 31, 2019
    • Shinya Maeda's avatar
      Remove legacy artifact related code · 387a4f4b
      Shinya Maeda authored
      We've already migrated all the legacy artifacts to the new realm,
      which is ci_job_artifacts table.
      It's time to remove the old code base that is no longer used.
      387a4f4b
  14. May 06, 2019
    • Shinya Maeda's avatar
      Fix schedule head pipeline update · 7c2b1cb0
      Shinya Maeda authored
      Currently, schedule head pipeline update method which executed after
      pipeline creation does not take into account of merge reqeust
      pipelines. We should use dedicated `all_merge_requests` method
      in this case.
      7c2b1cb0
  15. May 02, 2019
  16. Apr 30, 2019
    • Shinya Maeda's avatar
      Fix environment automatic on_stop trigger · daa8f784
      Shinya Maeda authored
      Due to the nature of pipelines for merge requests, deployments.ref can
      be a merge request ref instead of a branch name.
      
      We support the environment auto-stop hook for this case
      daa8f784
  17. Apr 16, 2019
  18. Apr 15, 2019
  19. Apr 11, 2019
  20. Apr 10, 2019
  21. Apr 08, 2019
    • Luke Duncalfe's avatar
      Use Gitlab::PushOptions for `ci.skip` push option · 1883e320
      Luke Duncalfe authored
      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.
      1883e320
  22. Apr 03, 2019
  23. Mar 26, 2019
  24. Mar 20, 2019
    • Tiger Watson's avatar
      Create framework for build prerequisites · 00f0d356
      Tiger Watson authored
      Introduces the concept of Prerequisites for a CI build.
      If a build has unmet prerequisites it will go through the
      :preparing state before being made available to a runner.
      
      There are no actual prerequisites yet, so current
      behaviour is unchanged.
      00f0d356
  25. Mar 01, 2019
  26. Feb 27, 2019
  27. Jan 28, 2019
  28. Jan 24, 2019
    • Shinya Maeda's avatar
      Remove expired artifacts periodically · 3cc3650d
      Shinya Maeda authored
      Rename
      
      Introduce Destroy expired job artifacts service
      
      Revert a bit
      
      Add changelog
      
      Use expired
      
      Improve
      
      Fix spec
      
      Fix spec
      
      Use bang for destroy
      
      Introduce iteration limit
      
      Update comment
      
      Simplify more
      
      Refacor
      
      Remove unnecessary thing
      
      Fix comments
      
      Fix coding offence
      
      Make loop helper exception free
      3cc3650d
  29. Jan 20, 2019
  30. Jan 11, 2019
  31. Jan 10, 2019
  32. Jan 04, 2019
  33. Jan 02, 2019
  34. Dec 31, 2018
    • Jonathon Reinhart's avatar
      Add support for Git push options, specifically ci.skip · ba781484
      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
  35. Dec 27, 2018
Loading