Commit Graph
219 Commits
Author SHA1 Message Date
Kamil Trzcinski 9423547f61 Fix other places where we still use commit attribute of Build 2016-06-03 15:49:14 +02:00
Kamil Trzcinski 4d5f7aa008 Fix more places where we should rename ci_commit to pipeline 2016-06-03 14:46:17 +02:00
Kamil Trzcinski bcd009e661 Use foreign_key to define column name 2016-06-03 13:58:35 +02:00
Kamil Trzcinski 0a51c95464 Merge remote-tracking branch 'origin/master' into rename-ci-commit 2016-06-03 13:10:01 +02:00
Kamil Trzcinski 3577b57f6b Try to use pipeline where applicable 2016-06-03 13:09:49 +02:00
Kamil Trzcinski b2acebb4ef Use ci_commits table 2016-06-03 12:00:16 +02:00
Josh Frye 2605a0a844 Refactor. Add tests. 2016-06-02 11:10:57 -04:00
Josh Frye 4d9622e7d3 Invalidate cache on build change 2016-06-02 11:10:57 -04:00
Kamil Trzcinski 021d3810c3 Rename Ci::Commit to Ci::Pipeline and rename some of the ci_commit to pipeline 2016-06-02 16:59:04 +02:00
Robert Speicher 7d33fba7af Merge branch 'upgrade-devise-two-factor' into 'master'
Upgrade devise, devise-two-factor, and attr_encrypted

Devise 4 includes support for Rails 5, working towards #14286. devise-async doesn't support Devise 4.0 and in 4.1 the bug that was blocking using Devise's built-in ActiveJob integration was fixed. So devise-async is removed. devise-two-factor 3.0.0 is required for Devise 4 support.

attr_encrypted and encryptor are optional but recommended upgrades for devise-two-factor 3.0.0. The mode and algorithm will need to be changed in order to update to attr_encrypted 4.x in the future.

See merge request !4216
2016-06-02 00:44:41 +00:00
Kamil Trzcinski bc621eef54 Pipelines can be canceled only when there are running builds 2016-05-31 15:26:00 +02:00
Connor Shea d287315dbf Upgrade attr_encrypted and encryptor
attr_encrypted (1.3.4 => 3.0.1) Changelog:
https://github.com/attr-encrypted/attr_encrypted/blob/master/CHANGELOG.m
d

attr_encrypted 2.x included a vulnerability, so that major version is
skipped. 3.x requires that the algorithm and mode used by each
encrypted attribute is specified explicitly.

`nil` is no longer a valid value for the encrypted_value_iv field, so
it’s changed to a randomly generated string.
2016-05-30 13:51:21 -06: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