Commit Graph
126 Commits
Author SHA1 Message Date
Kamil Trzcinski baef6728fa Send trace to a browser incrementally when build is running
We send a state of ansi2html to client, client needs to send this state back.
The state describes the configuration of generator and position within trace.
2016-05-09 19:59:45 +03:00
Tomasz Maczukin 9a1b174d5c Fix some typos 2016-04-22 22:08:38 +02:00
Tomasz Maczukin a2e2989637 Modify code formatting 2016-04-22 22:08:37 +02:00
Tomasz Maczukin 0ccf629525 Simplify the GitlabCiYamlProcessor#initial_parsing method 2016-04-22 22:08:36 +02:00
Tomasz Maczukin 8dd27b47ea Add posibility to define a hidden job without 'script' in .gitlab-ci.yml 2016-04-22 22:08:34 +02:00
Kamil Trzciński d240666800 Merge branch 'ci-commit-as-pipeline' into 'master'
Ci::Commit becomes a Pipeline object

1. Ci::Commit receives context: ref, :tag.
1. One Ci::Commit describes a one Pipeline
1. Pipeline is created from `.gitlab-ci.yml`
1. Pipeline is a ordered group of builds
1. We test MR against Pipeline
1. Pipelines have a separate view (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703)
1. Pipeline can be triggered from UI (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3703)
1. Later we change `Trigger -> TriggerRequest -> Build` to `Trigger -> Pipeline` (future)
1. We add a Pipeline Hook that will be triggered on Pipeline status change  (future)
1. We extend notifications to use `Pipeline Hook` to send summary on pipeline changes (future)

After merging that I'll prepare a separate MR that will unify naming, database columns, table names:
```
Ci::Commit -> Pipeline
Ci::Build -> Build
CommitStatus -> Job
GenericCommitStatus -> ExternalJob

ci_commits -> pipelines
ci_builds -> jobs
```

This MR implements first 5 points.

This is made to solve this issue https://gitlab.com/gitlab-org/gitlab-ce/issues/14149.

See merge request !3653
2016-04-21 08:10:37 +00:00
Tomasz Maczukin a84d0204bf Fix Build#append_trace method usage when trace file doesn't exists yet 2016-04-20 11:54:06 +02:00
Tomasz Maczukin 4019b0d872 Fix some typos in documentation
[ci skip]
2016-04-20 11:54:06 +02:00
Tomasz Maczukin 0725c28069 Add documentation of incremental trace update API
[ci skip]
2016-04-20 11:54:05 +02:00
Tomasz Maczukin dd29283a88 Make sure that appending is done on a valid length 2016-04-20 11:53:44 +02:00
Tomasz Maczukin 360bd831bf Add range checking 2016-04-20 11:53:43 +02:00
Tomasz Maczukin 38a1378e63 Add incremental build trace update API 2016-04-20 11:53:39 +02:00
Kamil Trzcinski 27e0c7723c Merge remote-tracking branch 'origin/master' into ci-commit-as-pipeline
# Conflicts:
#	db/schema.rb
2016-04-19 14:00:14 -04:00
Kamil Trzcinski 3f66f4470a Make rubocop happy 2016-04-18 15:19:24 -04:00
Kamil Trzcinski 9a2685fae0 Merge branch 'after-script' into make-before-after-overridable 2016-04-18 10:20:51 -04:00
Kamil Trzcinski 0ce5cc9962 Resolve merge 2016-04-18 10:19:29 -04:00
Kamil Trzcinski 2ab8d3e652 Merge branch 'after-script' into make-before-after-overridable 2016-04-18 09:47:12 -04:00
Kamil Trzcinski aca1e14bd3 Merge remote-tracking branch 'origin/master' into after-script 2016-04-18 09:46:12 -04:00
Kamil Trzcinski 42102b4344 Merge branch 'after-script' into make-before-after-overridable 2016-04-18 07:53:21 -04:00
Kamil Trzcinski 63bd1f92d9 Fix rubocop complains 2016-04-18 07:51:49 -04:00
Grzegorz Bizon 1339fda1cd Minor refactorings in CI config 2016-04-18 13:36:52 +02:00
Grzegorz Bizon 2b1c08be8f Validate job-level variables in YAML config file 2016-04-18 13:17:48 +02:00
Grzegorz Bizon cf3e3effb0 Minor refactoring in code related to job variables 2016-04-18 13:17:48 +02:00
Grzegorz Bizon 1f3248644e Make CI config return empty array if no job variables 2016-04-18 13:17:48 +02:00
Grzegorz Bizon 3dec6e2629 Rename method that returns global envs in CI conf 2016-04-18 13:17:48 +02:00
Grzegorz Bizon b7946b50fc Read job variables directly from gitlab CI config 2016-04-18 13:17:48 +02:00
Grzegorz Bizon a1363d39c6 Add variables keyword to job in CI config YAML 2016-04-18 13:17:47 +02:00
Kamil Trzcinski 5a7e4dfd33 Merge branch 'after-script' into make-before-after-overridable
* after-script:
  Add CHANGELOG and documentation
  Rename finally_script to after_script

Conflicts:
	lib/ci/gitlab_ci_yaml_processor.rb
	spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
2016-04-17 09:06:55 -04:00
Kamil Trzcinski cc57d61023 Rename finally_script to after_script 2016-04-17 08:59:57 -04:00
Kamil Trzcinski 4cc9a02ee0 Allow the before_script and finally_script to be overwritten in context of job 2016-04-16 19:22:49 +02:00
Kamil Trzcinski b340b59743 Implement finally_script which allows to do cleanups as part of the build process 2016-04-16 19:22:48 +02:00
Kamil Trzcinski 1ae797c229 Fix create_next_builds method 2016-04-12 11:15:19 +02:00
Kamil TrzcinskiandRémy Coutable 8fac12c590 Fix build dependencies, when the dependency is a string 2016-03-23 12:55:23 +01:00
Jason Roehm 5adaabdd30 make conditional a bit clearer 2016-03-15 21:28:06 -04:00
Jason Roehm 588002d8c7 fixed missing argument in list 2016-03-15 11:03:00 -04:00
Jason Roehm c57c9c41e0 fix rubocop violation 2016-03-15 09:47:47 -04:00
Jason Roehm a8f1c5ed03 add 'triggers' keyword to gitlab-ci.yml 'only' and 'except' fields to allow control over whether triggers will cause jobs to run 2016-03-15 09:27:33 -04:00
Kamil Trzcinski 388f69b0de Merge remote-tracking branch 'origin/master' into gitlab-ci-yaml-updates
# Conflicts:
#	spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
2016-03-11 14:22:49 +01:00
Kamil Trzcinski 9a271d8012 Allow to define on which builds the current one depends on 2016-03-11 14:15:13 +01:00
Kamil Trzcinski d300ecf8d9 Allow to pass name of created artifacts archive in .gitlab-ci.yml 2016-03-11 13:43:57 +01:00
Kamil Trzcinski ad4d3a075f Describe special YAML features: the use of anchors and hidden jobs 2016-03-11 13:41:05 +01:00
Pascal Bach 344d6e6f89 Support YAML alias/anchor usage in .gitlab-ci.yml
This allows to reuse one job as a template for another one:

```
job1: &JOBTMPL
  script: execute-script-for-job

job2: *JOBTMPL

```

This also helps to solve some of the issues in #342

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Fabio Huser <fabio.huser@siemens.com>
2016-03-08 08:49:32 +01:00
Grzegorz BizonandGrzegorz Bizon 13f92521c2 Move build eraseable API to proper API context 2016-02-19 17:24:59 +01:00
Grzegorz BizonandGrzegorz Bizon df313634d0 Do not allow to modify build if it has been erased 2016-02-19 17:24:59 +01:00
Grzegorz BizonandGrzegorz Bizon 21152d7d51 Use DELETE verb for erasing a build content
Also added API specs for that
2016-02-19 17:24:59 +01:00
Grzegorz BizonandGrzegorz Bizon 6ca99bd899 And CI API endpoint where user can erase a build 2016-02-19 17:24:59 +01:00
Grzegorz Bizon 8114786665 Fix builds scheduler when first build is allowed to fail
Before this fix when there was only one relevant, previous build and it
failed, but was allowed to fail, entire build had been marked as
skipped.

Closes #3192
2016-02-18 11:50:11 +01:00
Robert Speicher 40403c78ef Merge branch 'fix-ci-runners-version-update' into 'master'
Fix CI runner version not being properly updated when asked for a build

Due to broken implementation of attribute_for_keys the runner information was not updated correctly.

This MR adds test to check that such scenario will never happen again.

See merge request !2618
2016-01-27 20:50:24 +00:00
Kamil Trzcinski 95d2f0fb51 Fix CI runner version not being properly updated when asking for a build
Due to broken implementation of attribute_for_keys the runner information was not updated correctly.

This MR adds test to check that such scenario will never happen again.
2016-01-27 12:04:54 +01:00
Kamil Trzcinski 5ea32ba498 Fix hot reloading for CI API 2016-01-26 19:05:04 +01:00