Commit Graph
208 Commits
Author SHA1 Message Date
Kamil Trzcinski bc621eef54 Pipelines can be canceled only when there are running builds 2016-05-31 15:26:00 +02:00
Robert Speicher e7586cfbdc Merge branch 'rubocop/enable-negatedif-style-cop' into 'master'
Enable Style/NegatedIf Rubocop cop

Favor `unless` over `if` for negative conditions (or control flow ||).

```ruby
# bad
do_something if !some_condition
# bad
do_something if not some_condition

# good
do_something unless some_condition
# good
some_condition || do_something
```

See #17478

See merge request !4355
2016-05-30 17:59:10 +00:00
Grzegorz Bizon a55e8f109f Enable Style/NegatedIf Rubocop cop
Favor `unless` over `if` for negative conditions
(or control flow ||).

See #17478
2016-05-30 13:53:25 +02:00
Grzegorz Bizon 9d5f80e00b Enable Style/MethodDefParentheses rubocop cop
Use def with parentheses when there are parameters.

See #17478
2016-05-30 12:08:53 +02:00
Robert Speicher f26389a02a Merge branch 'feature/runner-config-untagged-jobs' into 'master'
Add config for CI Runner that prevents it from picking untagged jobs

Closes #3456

See merge request !4039
2016-05-19 21:54:33 +00:00
Douwe Maan 3f6f2bbe14 Merge branch 'create-todo-on-failing-build' into 'master'
Create a todo on failing MR build

Implements #14067. I worked on this with @DouweM (any mistakes are mine).

When a build fails for a commit, create a todo for the author of the merge request that commit is the HEAD of. If the commit isn't the HEAD commit of any MR, don't do anything. If there already is a todo for that user and MR, don't do anything.

Current limitations:
- This isn't configurable by project.
- The author of a merge request might not be the person who pushed the breaking commit.
- I haven't tested this with a working CI setup, just with the unit tests below and by modifying my DB directly.


See merge request !3177
2016-05-19 21:18:22 +00:00
Grzegorz Bizon c3c503d259 Rename method that validates runner tag constrains 2016-05-19 22:01:53 +02:00
Grzegorz Bizon f6dd8a5257 Move runner validator to separate private method 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 8001eed06e Add method that check if build has tags 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 9fd6f1b600 Improve displaying validation messages for runner 2016-05-19 22:01:53 +02:00
Grzegorz Bizon dd8e9e2d7a Add custom validator to runner model 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 83df638455 Disallow runner to pick untagged build if configured 2016-05-19 22:01:53 +02:00
Grzegorz Bizon 2aa5707194 Extend runner config options for untagged jobs 2016-05-19 22:01:53 +02:00
Sean McGivernandSean McGivern 6b834f2cbc Create a todo on failing MR build
When a build fails for a commit, create a todo for the author of the
merge request that commit is the HEAD of. If the commit isn't the HEAD
commit of any MR, don't do anything. If there already is a todo for that
user and MR, don't do anything.

Current limitations:
- This isn't configurable by project.
- The author of a merge request might not be the person who pushed the
  breaking commit.
2016-05-17 10:17:45 +01:00
Kamil Trzcinski 865e885336 Fix specs for MySQL 2016-05-14 14:47:47 -05:00
Kamil Trzcinski ecee057795 Merge remote-tracking branch 'origin/master' into with-pipeline-view 2016-05-13 17:15:09 -05:00
Robert Speicher 4735a75340 Merge branch 'deprecated-class-methods-cop' into 'master'
Enable the Rubocop DeprecatedClassMethods cop

This reports uses of `File.exists?` and `Dir.exists?`, which were both
deprecated in Ruby and will eventually be removed in favor of `.exist?`.
Also fixes all existing uses of the deprecated methods.

See merge request !4087
2016-05-12 22:41:01 +00:00
Jacob Schatz f2303f9df0 Merge branch 'send-incremental-build-log' into 'master'
Update build log incrementally

Proof of concept implementation of incremental sending of build log to browser.

cc @jschatz1 @vsizov @grzesiek @tmaczukin 


See merge request !3737
2016-05-12 16:48:42 +00:00
Rémy Coutable 66824e09e2 Merge branch 'fix/reuse-runner-edit-form-in-admin-area' into 'master'
Reuse runners edit form in admin and project area

Reuse runners edit form in admin and project area.

![reuse_runner_form](/uploads/d16e3ee196151b68f584d947f38a7c29/reuse_runner_form.png)

See merge request !4094
2016-05-12 15:25:56 +00:00
Kamil Trzcinski 5bd356eb31 Fix specs 2016-05-12 09:27:58 -05:00
Grzegorz Bizon a2934f4531 Use % notation for arrays in runner model constants 2016-05-11 12:39:07 +02:00
Kamil Trzcinski db25c17036 Merge remote-tracking branch 'origin/master' into send-incremental-build-log 2016-05-10 13:58:10 -05:00
Grzegorz Bizon 7d6d3421d6 Share form editable attributes mf runner via model 2016-05-10 14:21:01 +02:00
Kamil Trzcinski fe2137d871 Improve pipelines design 2016-05-10 02:26:13 +03:00
Kamil Trzcinski 7c1acb022a Merge remote-tracking branch 'origin/master' into with-pipeline-view
# Conflicts:
#	app/views/projects/ci/builds/_build.html.haml
#	app/views/projects/commit/_ci_commit.html.haml
#	app/views/projects/commit/_commit_box.html.haml
2016-05-09 23:53:02 +03:00
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
Jeroen van Baarsen f1479b56b7 Remove the annotate gem and delete old annotations
In 8278b763d9 the default behaviour of annotation
has changes, which was causing a lot of noise in diffs. We decided in #17382
that it is better to get rid of the whole annotate gem, and instead let people
look at schema.rb for the columns in a table.

Fixes: #17382
2016-05-09 18:00:28 +02:00
Connor Shea 9cc0937b3a Enable the Rubocop DeprecatedClassMethods cop
This reports uses of `File.exists?` and `Dir.exists?`, which were both
deprecated in Ruby and will eventually be removed in favor of
`.exist?`. Also fixes all existing uses of the deprecated methods.
2016-05-08 15:33:34 -06:00
Zeger-Jan van de Weg 47da013cf8 Annotate the models 2016-05-06 08:27:46 +02:00
Kamil Trzcinski cb90368a69 Merge remote-tracking branch 'origin/master' into with-pipeline-view 2016-04-26 16:36:17 +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 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
Grzegorz Bizon a6260b1eb7 Remove code that removes duplicate CI variables
At this point this is being handled by GitLab Runner and we need to
introduce this as a separate merge request.
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 b578fbfb85 Make it possible to override build variables 2016-04-18 13:17:47 +02:00
Grzegorz Bizon a1363d39c6 Add variables keyword to job in CI config YAML 2016-04-18 13:17:47 +02:00
Kamil Trzcinski 1c5b172abb Write specs for this feature 2016-04-16 22:43:40 +02:00
Kamil Trzcinski 0b1655e7b2 Rename CiStatus to Statusable 2016-04-16 21:46:26 +02:00
Kamil Trzcinski dc975525a4 Merge branch 'ci-commit-as-pipeline' into with-pipeline-view 2016-04-13 20:54:30 +02:00
Kamil Trzcinski 5117412e33 Fix implementation of config_processor and ci_yaml_file 2016-04-13 20:54:21 +02:00
Kamil Trzcinski 2a7f7f7528 Update handling of skipped status 2016-04-13 20:51:11 +02:00
Kamil Trzcinski 21136baa77 Update handling of skipped status 2016-04-13 20:51:03 +02:00
Kamil Trzcinski ed30cc04ee Merge branch 'ci-commit-as-pipeline' into with-pipeline-view
# Conflicts:
#	app/models/ci/commit.rb
2016-04-13 17:31:20 +02:00
Kamil Trzcinski ae24b25718 Simplify state update of Ci::Commit object 2016-04-13 17:30:31 +02:00
Kamil Trzcinski f5d24e60f8 Pipeline view 2016-04-13 13:01:08 +02:00