Commit Graph

34 Commits

Author SHA1 Message Date
Grzegorz Bizon 4967fe9454 Do not assigne unused attributes to CI/CD builds 2019-01-25 10:33:53 +01:00
Grzegorz Bizon 5d85a04927 Make it possible to fabricate CI/CD bridge jobs 2019-01-25 10:32:40 +01:00
Grzegorz Bizon 604073ffc3 Merge branch 'include-project' into 'master'
Allow to include another project files

Closes #53903

See merge request gitlab-org/gitlab-ce!24101
2019-01-07 09:19:36 +00:00
Kamil Trzciński c4d615c9dc Allow to include files from another projects
This adds `project:, file:, ref:` specification support.
2019-01-07 09:38:05 +01:00
Kamil Trzciński 0103d5be96 Add config_options|variables to BuildMetadata
These are data columns that store runtime configuration
of build needed to execute it on runner and within pipeline.

The definition of this data is that once used, and when no longer
needed (due to retry capability) they can be freely removed.

They use `jsonb` on PostgreSQL, and `text` on MySQL (due to lacking
support for json datatype on old enough version).
2019-01-04 16:38:17 +01:00
Kamil Trzciński 64b1044e7a ci/config: generalize Config validation into Gitlab::Config:: module
This decouples Ci::Config to provide a common interface for handling
user configuration files.
2018-11-29 16:09:18 +01:00
Grzegorz Bizon 6f6cd4f43d Merge branch '21480-parallel-job-keyword-mvc' into 'master'
Resolve "`parallel` job keyword MVC"

Closes #21480

See merge request gitlab-org/gitlab-ce!22631
2018-11-07 10:38:05 +00:00
Matija Čupić 4ba960c17d
Use instance based approach for Normalizer 2018-11-06 18:35:44 +01:00
Matija Čupić 4b2b154c4e
Refactor Gitlab::Ci::Config::Normalizer
Use Hash#each_with_object to manipulate job hashes.
2018-11-05 15:53:37 +01:00
Matija Čupić 5fd8933d97
Use instance based approach for Normalizer 2018-11-05 14:36:52 +01:00
Matija Čupić 73e17446ef
Move parallelized node index to job options 2018-11-01 16:18:27 +01:00
Matija Čupić 56a08d233f
Parallelize jobs in Gitlab::Ci::YamlProcessor 2018-11-01 01:05:42 +01:00
Matija Čupić 8f8a89f98e
Implement POC config based parallelization 2018-10-31 15:27:51 +01:00
Matija Čupić 94923328fd
Revert Seed based parallelization implementation
Revert "Add Build seed specs"

This reverts commit 03bc722ea1.

Revert "Add build specs"

This reverts commit c2d49565cf.

Revert "Refactor parallelization implementation"

This reverts commit 72430483de.

Revert "Implement POC for job parallelization"

This reverts commit 44b740f99d.
2018-10-30 15:06:00 +01:00
gfyoung 06892e88f5 Enable frozen string for lib/gitlab/ci
Enables frozen string for the following:

* lib/gitlab/ci/*.rb
* lib/gitlab/ci/build/**/*.rb
* lib/gitlab/ci/config/**/*.rb
* lib/gitlab/ci/pipeline/**/*.rb
* lib/gitlab/ci/reports/**/*.rb

Partially addresses #47424.
2018-10-26 16:36:42 -07:00
Matija Čupić 44b740f99d
Implement POC for job parallelization 2018-10-26 23:24:17 +02:00
Shinya Maeda f8e680b786 Fix rubocop offence 2018-10-02 17:02:12 +02:00
Shinya Maeda c03631a996 Support new syntax 2018-10-02 17:02:11 +02:00
Shinya Maeda 3fc4c096a5 Squashed commit of the following:
commit 9d9594ba20097dc4598f7eb42a9f9d78d73eae54
Author: Shinya Maeda <shinya@gitlab.com>
Date:   Thu Sep 13 20:18:31 2018 +0900

    Cancel scheduled jobs

commit f31c7172e07a9eb03b58c1e62eaa18cda4064aa6
Author: Shinya Maeda <shinya@gitlab.com>
Date:   Thu Sep 13 11:18:42 2018 +0900

    Add Ci::BuildSchedule

commit fb6b3ca638f40f9e1ee38b1fdd892bda4f6fede7
Author: Shinya Maeda <shinya@gitlab.com>
Date:   Wed Sep 12 20:02:50 2018 +0900

    Scheduled jobs
2018-10-02 16:57:37 +02:00
Grzegorz Bizon 9a4117ab5b Add support for `extends` key in CI/CD configuration 2018-09-04 14:17:01 +02:00
Mayra Cabrera 80f9aff34b Make ci/lint page context aware:
- Create ci/lints controller inside project/
- Move js pages to be inside projects/
- Copy view ci/lint view to be inside project folder
- Remove ci/lint view and js files

Closes #43603
2018-03-26 17:03:11 -06:00
Grzegorz Bizon b40d5d0fbb Fix static analysis and tests related to YAML processing 2018-03-22 15:22:50 +01:00
Grzegorz Bizon 000f9d01f7 Decouple YAML processor from pipeline objects 2018-03-22 14:04:53 +01:00
Grzegorz Bizon db3d031969 Evaluate only/except policies outside of YAML processor 2018-03-21 14:40:27 +01:00
Grzegorz Bizon 3145cbaaa0 Decouple pipeline stage seeds from building environments 2018-03-21 10:01:37 +01:00
Grzegorz Bizon d16bb44726 Start building abstraction over pipeline seeds 2018-03-21 09:03:03 +01:00
Dylan Griffith 66d41d2c22 Handle all YAML parser exceptions in .gitlab-ci.yml (fixes #41209)
- Move the exception handling as close to the source as possible to
avoid leaking Psych ahstraction
- Also remove unnecessary rescue all statement from LintsController.
This should not be necessary anymore since any YAML errors should all be
caught by the #validation_message method.
2018-02-07 10:09:01 +11:00
Grzegorz Bizon f52c61f846 Do not initialize YAML processor with project full path 2017-09-18 14:35:31 +02:00
Grzegorz Bizon d79ad28fcb Do not pass project path from YAML processor
Use project full path that can be received from a pipeline object
2017-09-18 14:29:43 +02:00
Grzegorz Bizon a7a7e2d8f7 Fix Rubocop offenses in YAML processor classes 2017-09-18 13:57:14 +02:00
Grzegorz Bizon 10a486b366 Remove YAML processor refactoring stubs and fix specs 2017-09-18 13:57:14 +02:00
Grzegorz Bizon 241197c29a Extract job refs policy specs into separate class 2017-09-18 13:57:14 +02:00
Grzegorz Bizon dd784b1518 Use CI/CD job policy specification in YAML processor 2017-09-18 13:57:14 +02:00
Maxim Rydkin c45ace8972
move `lib/ci/gitlab_ci_yaml_processor.rb` into `lib/gitlab/ci/yaml_processor.rb` 2017-09-12 22:32:02 +03:00