Rémy Coutable and Robert Speicher
7db27be140
Merge branch 'fix/error-when-job-variables-not-defined-but-specified' into 'master'
...
Fix error when CI job variables key used but not specified
## What does this MR do?
This MR fixes a an error when CI job variables specified, but not defined:
```yaml
image: ruby:2.2
test:
variables:
script:
- rspec
```
## What are the relevant issue numbers?
Closes #18764
Follow up discussion in: #18775
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG ) entry added
- [x] Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides )
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits )
See merge request !4745
2016-06-17 14:22:18 -04:00
Rémy Coutable and Robert Speicher
4a6eb00729
Merge branch 'validate-only-except-regexp' into 'master'
...
Validate only and except regexp
## What does this MR do?
Adds a better validation for only and except which can contain regexps.
## Why was this MR needed?
Currently the RegexpError can be raised when processing next stage which leads to 500 in different places of code base.
This adds early check that regexps used in only and except are valid.
cc @grzesiek
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG ) entry added
- [x] Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides )
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits )
See merge request !4736
2016-06-17 14:15:14 -04:00
Rémy Coutable and Robert Speicher
700a88a876
Merge branch 'fix/status-of-pipeline-without-builds' into 'master'
...
Improve pipeline status in case that pipeline has no jobs
## What does this MR do?
This MR resolves problem with pipeline status when there are no build in pipeline.
This can happen when builds were skipped - for example - by using `only`/`except` keyword in `.gitlab-ci.yml`.
## What are the relevant issue numbers?
Closes #17977
See merge request !4403
2016-06-16 13:28:06 -04:00
Kamil Trzcinski
006b650988
Merge remote-tracking branch 'origin/master' into environments-and-deployments
...
# Conflicts:
# db/schema.rb
2016-06-14 16:19:29 +02:00
Kamil Trzcinski
975e388751
Merge remote-tracking branch 'origin/master' into environments-and-deployments
...
# Conflicts:
# lib/ci/gitlab_ci_yaml_processor.rb
2016-06-14 14:53:10 +02:00
Kamil Trzcinski
3f5819fb7a
Merge remote-tracking branch 'origin/master' into artifacts-expire-date
2016-06-14 14:49:59 +02:00
Kamil Trzcinski
e8f09f02bf
Validate environment name with regex
2016-06-14 13:04:21 +02:00
Rémy Coutable
47cdb69921
Merge branch 'refactor/ci-config-add-global-entry' into 'master'
...
Add global entry with before script to new CI config
## What does this MR do?
This MR adds a new entries to a new CI config class. It is next refactoring step after !4462 .
See #15060
See merge request !4482
2016-06-14 10:53:26 +00:00
Kamil Trzcinski
7d9e8b04c0
Merge remote-tracking branch 'origin/master' into environments-and-deployments
2016-06-14 12:41:18 +02:00
Kamil Trzcinski
0fab7b11ba
Merge remote-tracking branch 'origin/master' into artifacts-when
2016-06-13 16:05:43 +02:00
Kamil Trzcinski and Phil Hughes
421be01dab
Improve design based on review
2016-06-13 11:09:19 +01:00
Kamil Trzcinski and Phil Hughes
d23b91b0d9
Improve after review
2016-06-13 11:08:15 +01:00
Kamil Trzcinski and Phil Hughes
86800bf51a
Support expiration date in CI API when uploading artifacts
2016-06-13 11:03:30 +01:00
Kamil Trzcinski and Phil Hughes
1501940ee0
Validate artifacts:expire_in in yaml processor
2016-06-13 11:03:30 +01:00
Kamil Trzcinski and Phil Hughes
aea4041ce9
Allow to expire build artifacts
2016-06-13 11:01:19 +01:00
Kamil Trzcinski and Phil Hughes
7a1b2e4f94
Added when to artifacts
2016-06-13 10:45:24 +01:00
Grzegorz Bizon
ebe14437e9
Merge branch 'master' into refactor/ci-config-add-global-entry
...
* master: (59 commits)
Improved SVG sanitizer specs to include smoke tests for clean.
Refactored SVG sanitizer
Added SVG sanitizer fix to the changelog
Refactor SVG sanitizer and prevent `xlink:href` to refer to external resources
Fix SVG whitelisting to allow namespaced attributes
Fix Error 500 when using closes_issues API with an external issue tracker
Center layout navigation and remove icons
Fix preferences_spec test
Add back sidebar counters and username
Only create the backup directory if it is local
Fix safari logo loading animation safari bug
Revert side nav to full width; remove border under nav; remove tooltips on nav links; stop page content shifting with side nav; put project nav in container
Update media queries
Fix profile test
Fix logo at all screen widths, update sidebar text
Move tanuki icon to center of nav bar; keep nav closed by default; remove collapsed nav cookie
Remove unused MergeRequest#gitlab_merge_status method
Add CHANGELOG item for labels/milestones navigation change
Render issues link on issues subnav unless you visit merge request controller
Render only issues/mr in subnav depends on context
...
2016-06-13 11:14:38 +02:00
Kamil Trzcinski
907c0e6796
Added initial version of deployments
2016-06-10 23:36:54 +02:00
Kamil Trzcinski
3714e1914b
Improve after review
2016-06-10 21:25:48 +02:00
Kamil Trzcinski
c43279a8d9
Fix expose of TriggerRequest
2016-06-10 13:58:33 +02:00
Kamil Trzcinski
4663ae064d
Fix CI TriggerRequest entity
2016-06-09 17:57:07 +02:00
Kamil Trzcinski
81dfabad39
Added when to artifacts
2016-06-08 17:10:58 +02:00
Grzegorz Bizon
cba266aabc
Remove old before_script from legacy Ci config
2016-06-08 11:44:07 +02:00
Grzegorz Bizon
2b48da22ca
Merge branch 'master' into refactor/ci-config-add-global-entry
...
* master: (285 commits)
Bump recaptcha gem to 3.0.0 to remove deprecated stoken support
Load knapsack in Rakefile only when is bundled
Add License Finder information to contribution acceptance criteria.
Add LGPLv2 to license whiltelist
Instrument `RepositoryCheck::SingleRepositoryWorker` manually
Bump nokogiri to 1.6.8
Fix alignment of wiki top area
Update charcoal theme colors
Update nav link font size and spacing; fix hamburger icon
Fix control btn position
Remove todos count tests in nav
Test impersonation using img data attribute instead of username
Implement compact side nav
Fix knapsack for master
Align links and tabs
Add scrolling tabs to code subnav
Finish styling sub nav
Updated colors
Fixed failing tests
CHANGELOG item
...
Conflicts:
lib/gitlab/ci/config.rb
spec/lib/gitlab/ci/config_spec.rb
2016-06-08 11:38:56 +02:00
Rémy Coutable
be78a556d9
Merge branch 'refactor/ci-config-add-facade' into 'master'
...
Add new GitLab CI configuration facade class
## What does this MR do?
This MR is a first iteration of major CI configuration refactoring. See #17139 and #15060 for more details.
## What are the relevant issue numbers?
Closes #17139
See merge request !4462
2016-06-07 16:05:26 +00:00
Grzegorz Bizon
70bda3e89b
Implement script in Ci config and use in legacy one
2016-06-07 14:23:47 +02:00
Grzegorz Bizon
df25c19699
Use Ci config validation helpers only where needed
2016-06-07 12:58:32 +02:00
Grzegorz Bizon
fa097c678c
Remove duplicated exception in Ci config
...
This is a temporary refactoring stub, that is planned to be removed
after removing legacy config processor.
2016-06-07 10:26:38 +02:00
Grzegorz Bizon
940763e0e7
Use CI config errors from new processor in legacy one
2016-06-06 20:56:58 +02:00
Grzegorz Bizon
251dd571df
Extract CI config validation helpers to mixin
2016-06-06 11:05:15 +02:00
Grzegorz Bizon
23030439c2
Rename class that loads CI configuration to Loader
2016-06-06 08:20:55 +02:00
Grzegorz Bizon
d501850e05
Add gitlab ci configuration class that holds hash
...
As for now, we keep this class inside a oryginal config processor class.
We will move implementation to this class and delegate to it from
current config processor.
After original gitlab ci yaml processor not longer has relevant
impelemntation we will replace it with new configuration class.
2016-06-03 14:20:34 +02: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
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
Robert Speicher
3c2d0cf24c
Merge branch 'complexity/enable-multiple-rubocop-cops-2' into 'master'
...
Enable multiple compatible Rubocop cops
## What does this MR do?
This MR enables multiple Rubocop cops, that are already compatible with
our codebase. See #17406 .
Cops enabled:
```text
Style/ArrayJoin:
Description: Use Array#join instead of Array#*.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join
----------------
Style/Attr:
Description: Checks for uses of Module#attr.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr
----------------
Style/BlockComments:
Description: Do not use block comments.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments
----------------
Style/ClassMethods:
Description: Use self when defining module/class methods.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-class-methods
----------------
Style/EndBlock:
Description: Avoid the use of END blocks.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
----------------
Style/EvenOdd:
Description: Favor the use of Fixnum#even? && Fixnum#odd?
StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods
----------------
Style/FileName:
Description: Use snake_case for source file names.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
ExpectMatchingDefinition: false
----------------
Style/FirstMethodParameterLineBreak:
Description: Checks for a line break before the first parameter in a multi-line method
parameter definition.
----------------
Style/FlipFlop:
Description: Checks for flip flops
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops
----------------
Style/GlobalVars:
Description: Do not introduce global variables.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars
Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html
----------------
Style/IfWithSemicolon:
Description: Do not use if x; .... Use the ternary operator instead.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs
----------------
Style/LambdaCall:
Description: Use lambda.call(...) instead of lambda.(...).
StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call
EnforcedStyle: call
----------------
Style/MethodName:
Description: Use the configured style when naming methods.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
EnforcedStyle: snake_case
----------------
Style/MultilineMethodDefinitionBraceLayout:
Description: Checks that the closing brace in a method definition is symmetrical with
respect to the opening brace and the method parameters.
----------------
Style/NestedModifier:
Description: Avoid using nested modifiers.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-modifiers
----------------
Style/OpMethod:
Description: When defining binary operators, name the argument other.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
----------------
Style/SignalException:
Description: Checks for proper usage of fail and raise.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#prefer-raise-over-fail
EnforcedStyle: only_raise
----------------
Style/SpaceAfterNot:
Description: Tracks redundant space after the ! operator.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang
----------------
Style/SpaceBeforeSemicolon:
Description: No spaces before semicolons.
----------------
Style/SpaceInsideRangeLiteral:
Description: No spaces inside range literals.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals
----------------
Style/SpaceInsideStringInterpolation:
Description: Checks for padding/surrounding spaces inside string interpolation.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#string-interpolation
EnforcedStyle: no_space
----------------
Style/StabbyLambdaParentheses:
Description: Check for the usage of parentheses around stabby lambda arguments.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#stabby-lambda-with-args
EnforcedStyle: require_parentheses
----------------
Style/StringMethods:
Description: Checks if configured preferred methods are used over non-preferred.
PreferredMethods:
intern: to_sym
----------------
Style/VariableInterpolation:
Description: Don't interpolate global, instance and class variables directly in strings.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate
----------------
Style/VariableName:
Description: Use the configured style when naming variables.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
EnforcedStyle: snake_case
----------------
Style/WhenThen:
Description: Use when x then ... for one-line cases.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases
----------------
Style/WhileUntilModifier:
Description: Favor modifier while/until usage when you have a single-line body.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier
MaxLineLength: 80
```
Closes #17406
See merge request !4286
2016-05-25 19:41:10 +00:00
Grzegorz Bizon
2c7439db4d
Enable multiple compatible Rubocop cops
...
Closes #17406
2016-05-25 06:17:29 +02:00
Kamil Trzcinski
cdec9e472d
Replace \n to <br>
2016-05-23 21:59:07 -05:00
Robert Speicher
3ba72f69af
Enable Style/SpaceAroundKeyword cop and fix offenses
2016-05-23 14:16:35 -04:00
Stan Hu
9bb0d0b407
Fix Error 500 in CI charts by gracefully handling commits with no durations
...
Closes #17730
2016-05-22 23:52:50 -07:00
Grzegorz Bizon
bf9cc351c2
Add minor corrections related to config of runner
2016-05-19 22:01:53 +02:00
Grzegorz Bizon
0fd100d28d
Improve setting default runner attrs when using API
2016-05-19 22:01:53 +02:00
Grzegorz Bizon
b8cf2a340b
Set run untagged option when registering a runner
2016-05-19 22:01:53 +02: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
5589dcf8db
Fix a few places where autoloading would fail
...
- Fix naming of API::CommitStatuses
- Ensure we use require_dependency instead of require
- Ensure the namespace is right in lib/api/api.rb, otherwise, we
might require Grape::API::Helpers which defines the `#params` method.
This is to avoid requiring a file multiple times and getting an "Already
initialized constant" error.
Signed-off-by: Rémy Coutable <remy@rymai.me >
2016-05-10 11:51:19 +02:00
Kamil Trzcinski
74520f23db
Encode state as base64 string
2016-05-09 20:19:27 +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
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