Commit Graph
80 Commits
Author SHA1 Message Date
Rémy CoutableandRobert 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 CoutableandRobert 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
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 e8f09f02bf Validate environment name with regex 2016-06-14 13:04:21 +02:00
Kamil Trzcinski 72f6f46e11 Merge remote-tracking branch 'origin/master' into artifacts-expire-date 2016-06-13 18:58:55 +02:00
Kamil TrzcinskiandPhil Hughes d23b91b0d9 Improve after review 2016-06-13 11:08:15 +01:00
Kamil Trzcinski bb3fc8c72c Make "four phase test" 2016-06-13 12:07:03 +02:00
Kamil TrzcinskiandPhil Hughes 1501940ee0 Validate artifacts:expire_in in yaml processor 2016-06-13 11:03:30 +01:00
Kamil TrzcinskiandPhil Hughes 7a1b2e4f94 Added when to artifacts 2016-06-13 10:45:24 +01:00
Kamil Trzcinski 3714e1914b Improve after review 2016-06-10 21:25:48 +02:00
Kamil Trzcinski 81dfabad39 Added when to artifacts 2016-06-08 17:10:58 +02:00
Kamil Trzcinski 20c7144ed2 Rename all [ci_]commit to [ci_]pipeline in specs and features 2016-06-03 16:22:26 +02:00
Kamil Trzcinski 717fdd6d42 Rename Ci::Build commit to pipeline 2016-06-03 12:29:00 +02:00
Dmitriy Zaporozhets c04f85a333 Merge branch 'rs-rubocop-nottonot' into 'master'
Enable RSpec/NotToNot cop and auto-correct offenses

Ref: https://gitlab.com/gitlab-org/gitlab-ce/issues/17761

See merge request !4267
2016-05-25 16:46:29 +00:00
Robert Speicher 75739e54be Enable RSpec/NotToNot cop and auto-correct offenses
Also removes the note from the development/testing.md guide
2016-05-24 15:40:29 -04:00
Kamil Trzcinski cdec9e472d Replace \n to <br> 2016-05-23 21:59:07 -05: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
Gabriel Mazetto f5a0ac0fc1 Codestyle: make sure we have space around operators 2016-05-13 04:46:56 -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 e1b3ce5468 Fix formatting 2016-04-22 22:08:35 +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 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 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 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 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 0b1655e7b2 Rename CiStatus to Statusable 2016-04-16 21:46:26 +02: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 102537072b Fix CiStatus implementation and tests 2016-04-13 15:40:12 +02:00
Kamil Trzcinski ac50f9dddf Fix rest of rspec and spinach tests 2016-04-12 10:23:31 +02:00
Kamil TrzcinskiandRémy Coutable 858bf727bc Test dependencies defined as symbols 2016-03-23 12:55:23 +01:00
Kamil TrzcinskiandRémy Coutable 8fac12c590 Fix build dependencies, when the dependency is a string 2016-03-23 12:55:23 +01:00
Kamil Trzciński fc6ee35928 Merge branch 'feature-ci-only-except-trigger' into 'master'
CI: Add 'triggers' keyword to 'only' and 'except' lists to allow control over when triggers cause builds to run

Currently, the `only` and `except` keywords in `.gitlab-ci.yml` only accept ref names or the special `branches` and `tags` keywords. However, these are primarily useful when controlling how repository activity affects the creation of builds. In my case, instead of building on every commit, I'd like to use the following logic:

- If the repository is tagged, do a build.
- Any other normal commits should not cause a build.
- If a build is triggered via the API, always create one for the specified ref.

From what I can tell, this isn't possible via the existing YAML syntax. In this MR, I introduce a new keyword `triggers` that goes along with `branches` and `tags`. I can implement the logic above using the following job configuration:

```yaml
only:
  - tags
  - triggers
```

I updated the tests and documentation to reflect this and everything seems to pass.

See merge request !3230
2016-03-22 09:42:40 +00:00
Geoffrey Lalonde 4117c815df adjusted behavior so canceled builds tagged as allowed to fail do not fail build 2016-03-17 07:55:10 -07:00
Jason Roehm 6c1badbd10 add tests for only/except 'triggers' keyword 2016-03-15 09:35:38 -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