2553 Commits
Author SHA1 Message Date
Douwe MaanandRobert Speicher f89db395c0 Merge branch 'fix/project-destroy-callbacks' into 'master'
Fix project destroy callback

See gitlab-org/gitlab-ee!107.

See merge request !2307
2016-01-11 14:24:22 -05:00
Stan HuandRobert Speicher 78d9c90438 Merge branch 'check-for-present-runner-token' into 'master'
Fix Error 500 when visiting build page of project with nil runners_token

Properly ensure that the token exists and add defensively check for a
non-nil value.

Closes #4294

See merge request !2294
2016-01-11 12:15:42 -05:00
Robert SpeicherandRobert Speicher a18ebb3c9e Merge branch 'fix_jira_shortterm' into 'master'
Do not call API if there is no API URL

Fixes #5878 

CE users may not be interested in the new JIRA features. In this case,
we should detect they haven't set an API URL and fallback to the
behavior pre-8.3. This patch does that very easily.

There are planned improvements to JIRA in future releases such as
gitlab-org/gitlab-ce#5541 which will make this more configurable.

See merge request !2341
2016-01-10 17:12:48 -05:00
Stan HuandRobert Speicher 34d0f22637 Merge branch 'suppress-allow-failure-builds' into 'master'
Suppress e-mails on failed builds if allow_failure is set

Every time I push to GitLab, I get > 2 emails saying a spec failed when I don't care about the benchmarks and others that have `allow_failure` set to `true`.

@ayufan mentioned creating a summary e-mail to prevent getting one e-mail per build, but the latter might actually be desirable. For example, I do want to know if Rubocop errors fail right away.

See merge request !2178
2016-01-08 13:14:23 -05:00
Robert SpeicherandRobert Speicher f076e4ebeb Merge branch 'merge-when-build-succeeds-unchecked' into 'master'
Get "Merge when build succeeds" to work when commits were pushed to MR
target branch while builds were running

The Merge when build succeeds service only merges when the MR is
mergeable (open, not WIP, no conflicts).

When the target branch is updated, all affected MRs have their merge
status set to `unchecked`, and the conflicts check will only happen
when `check_if_can_be_merged` is called, which happens when the MR page
is viewed.

When someone enables the automatic merge, the target branch is updated,
no-one views the MR page again, and the build succeeds, the mergeability
check will fail and the MR will not in fact be merged.

This MR makes sure `check_if_can_be_merged` is always called when MR
mergeability is checked.

See merge request !2304
2016-01-06 13:58:49 -05:00
Douwe MaanandRobert Speicher 8d5140502e Merge branch 'mikew1/gitlab-ce-better-asana-refs' into 'master'
Better support for referencing and closing issues in asana_service.rb (by @mikew1)

See merge request !2302
2016-01-05 17:57:47 -05:00
Robert SpeicherandRobert Speicher 8d8f52ac17 Merge branch 'fix-transfer-project-email' into 'master'
Fix project transfer e-mail sending incorrect paths in e-mail notification

The introduction of ActiveJob and `deliver_now` in 7f214cee7 caused a race
condition where the mailer would be invoked before the project was committed
to the database, causing the transfer e-mail notification to show the old
path instead of the new one.

Closes #4670

See merge request !2235
2015-12-30 16:49:10 -05:00
Grzegorz BizonandRobert Speicher e15ed58df9 Merge branch 'fix/missing-ci-build-traces' into 'master'
Hotfix for builds trace data integrity

Closes #4246

See merge request !2224
2015-12-30 14:55:40 -05:00
Gabriel MazettoandMarin Jankovski b3ce9a1d24 reCAPTCHA is configurable through Admin Settings, no reload needed. 2015-12-29 11:13:50 +01:00
Dmitriy ZaporozhetsandRobert Speicher 795a29aee5 Merge branch 'disable-git-follow' into 'master'
Disable --follow in `git log` to avoid loading duplicate commit data in infinite scroll

`git` doesn't work properly when `--follow` and `--skip` are specified together. We could even be **omitting commits in the Web log** as a result.

Here are the gory details. Let's say you ran:

```
git log -n=5 --skip=2 README
```

This is the working case since it omits `--follow`. This is what happens:

1. `git` starts at `HEAD` and traverses down the tree until it finds the top-most commit relevant to README.
2. Once this is found, this commit is returned via `get_revision_1()`.
3. If the `skip_count` is positive, decrement and repeat step 2. Otherwise go onto step 4.
4. `show_log()` gets called with that commit.
5. Repeat step 1 until we have all five entries.

That's exactly what we want. What happens when you use `--follow`? You have to understand how step 1 is performed:

* When you specify a pathspec on the command-line (e.g. README), a flag `prune` [gets set here](https://github.com/git/git/blob/master/revision.c#L2351).
* If the `prune` flag is active, `get_commit_action()` determines whether the commit should be [scanned for matching paths](https://github.com/git/git/blob/master/revision.c#L2989).
* In the case of `--follow`, however, `prune` is [disabled here](https://github.com/git/git/blob/master/revision.c#L2350).
* As a result, a commit is never scanned for matching paths and therefore never pruned. `HEAD` will always get returned as the first commit, even if it's not relevant to the README.
* Making matters worse, the `--skip` in the example above would actually skip a every other entry after `HEAD` N times. If README were changed in these skipped commits, we would actually miss information!

Since git uses a matching algorithm to determine whether a file was renamed, I
believe `git` needs to generate a diff of each commit to do this and traverse
each commit one-by-one to do this. I think that's the rationale for disabling
the `prune` functionality since you can't just do a simple string comparison.

Closes #4181, #4229, #3574, #2410

See merge request !2210
2015-12-29 01:34:03 -05:00
Dmitriy ZaporozhetsandRobert Speicher 840674d181 Merge branch 'fix-milestones-with-slashes' into 'master'
Fix Error 500 when global milestones have slashes

* Closes #4226

* Closes https://github.com/gitlabhq/gitlabhq/issues/9921

See merge request !2182
2015-12-24 13:41:39 -05:00
Douwe MaanandRobert Speicher e9a2ab1152 Merge branch 'ldap-special-chars-fix' into 'master'
Fix identity and user retrieval when special characters are used

Fixes #4023

I also added tests to make sure the user with special characters in his name is returned correctly.

@rspeicher this probably should be added to 8.3 as a patch.

See merge request !2176
2015-12-24 13:41:04 -05:00
Grzegorz BizonandRobert Speicher 5a670322ce Merge branch 'fix/ci-runners-token-persistence' into 'master'
Fix method that ensures authentication token

Until now, `ensure_#{token_filed_name}!` method didn't persist new token in database.

This closes #4235.

See merge request !2185
2015-12-23 12:16:58 -05:00
Robert SpeicherandRobert Speicher c4eacbd279 Merge branch 'fix-mr-500' into 'master'
Fix MR 500 when viewing the MR page

Fixes #2712 

See merge request !2167
2015-12-21 22:37:43 -05:00
Robert SpeicherandRobert Speicher 8eb895eeb2 Merge branch 'fix-issue-related-mrs' into 'master'
Fix issue related cross-project MRs

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/4188

See merge request !2163
2015-12-21 12:55:04 -05:00
Robert SpeicherandRobert Speicher 525981fcfe Merge branch 'add_email_unlock' into 'master'
Allow account unlock via email

We see a lot of users get confused about what it means when your account gets
locked. Many try to reset their password and are still faced with a lockout.
With this change, users receive an email that allows them to unlock their
account immediately. The previous behavior where the account is auto-unlocked
after a time also still works.

See merge request !2049
2015-12-21 12:53:47 -05:00
Drew Blessing f177aaa5fa Backport JIRA service 2015-12-18 14:19:48 -06:00
Kamil Trzcinski 58a56a0396 Don't create CI status for refs that doesn't have .gitlab-ci.yml, even if the builds are enabled 2015-12-17 16:33:47 +01:00
Robert Speicher e27db8694c Merge branch 'reference-cache' into 'master'
Only cache markdown when object has been saved and has a proper cache_key.

See merge request !2119
2015-12-16 17:58:14 +00:00
Douwe Maan 6ea26ae623 Only cache markdown when object has been saved and has a proper cache_key. 2015-12-16 18:36:14 +01:00
Stan Hu 02f5673171 Fix bad merge 2015-12-16 08:02:28 -08:00
Dmitriy Zaporozhets b8570576e8 Merge branch 'add-open-issues-count-to-api' of https://gitlab.com/stanhu/gitlab-ce
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2015-12-16 16:08:35 +01:00
Dmitriy Zaporozhets 40104746d6 Merge remote-tracking branch 'origin/feature/update-rubocop' 2015-12-16 13:44:50 +01:00
Gabriel Mazetto 9072098215 Fixed CiServices validation 2015-12-15 17:37:23 -02:00
Douwe Maan 6560d053ed Use lazy reference extractor to get issue's MRs 2015-12-15 16:57:11 +01:00
Douwe Maan 48b3ad6d37 Banzai::XFilter -> Banzai::Filter::XFilter 2015-12-15 16:10:32 +01:00
Douwe Maan 7781bda9bd Move Markdown/reference logic from Gitlab::Markdown to Banzai 2015-12-15 15:51:16 +01:00
Gabriel Mazetto b5291f9599 Fixed Rubocop offenses 2015-12-15 00:53:52 -02:00
Grzegorz Bizon 4526515704 Merge branch 'ux/suppress-ci-yml-warning' into 'master'
Suppress warning about missing `.gitlab-ci.yml` if builds are disabled

When user disables GitLab Ci Service in project's settings then warning
about missing `.gitlab-ci.yml` file should be supressed. This a matter
of user experience as stated in #3761 (closes #3761).

cc @ayufan 

See merge request !2014
2015-12-14 17:16:29 +00:00
Grzegorz Bizon 2ec93abed7 Merge branch 'master' into ci/persist-registration-token
* master: (66 commits)
  Fix runners admin view
  Fix migrations
  Rename mention of gitlab-git-http-server to gitlab-workhorse
  Bump Redis requirement to 2.8 for Sidekiq 4 requirements
  Fix wording on runner setup page
  add details on how to change saml button label
  Fix tests
  Move awards back to gray panel and few improvements to sidebar
  Few UI improvements to new sidebar implementation
  Fix tests for new issuable sidebar
  Update changelog
  Implement new sidebar for merge request page
  Make edit link on issuable sidebar works
  Redesign issue page for new sidebar
  Move awards css to separate file
  Implement issuable sidebar partial
  Update CHANGELOG
  Clarify cache behavior
  Run builds from projects with enabled CI
  Use Gitlab::Git instead of Ci::Git
  ...

Conflicts:
	db/schema.rb
2015-12-14 12:26:40 +01:00
Grzegorz Bizon 32d83ee79f Merge branch 'master' into ux/suppress-ci-yml-warning
* master: (24 commits)
  Fix runners admin view
  Fix migrations
  Run builds from projects with enabled CI
  Use Gitlab::Git instead of Ci::Git
  Fix last specs
  Fix specs
  Fix after column rename
  Fix errors
  Update badge
  Finishing touches
  Fix triggers tests
  Rename columns and rename migrations
  Reimplement Trigger API
  Remove ci_ prefix from all ci related things
  Add runners token
  Migrate CI::Project to Project
  Fix indentation and BuildsEmailService
  Change default values
  Enhance migrate CI emails
  Fix issue tracker service
  ...

Conflicts:
	spec/features/commits_spec.rb
2015-12-14 12:25:37 +01:00
Kamil Trzciński c810234357 Merge branch 'ci-project-migrate' into 'master'
Ci Project migrate

- This doesn't migrate: allow_git_fetch, coverage_regex, timeout. Since this are project configuration settings I would propose to migrate them to `.gitlab-ci.yml`.
- This requires offline migrations.
- It simplifies database models making all CI objects to be attached to: Project.
- It removes Ci::Project, but makes /ci/projects working by adding method: Project.find_by_ci_id for backward compatibility (badges, triggers).
- We should add default `timeout` to Application Settings.
- It misses specs.
- It is based on ci-services-migrate for now.
- It removes CI events.
- It removes administrator CI projects overview.
- It removes CI application settings.

In 8.4 or 8.5 we can remove redundant tables and columns.


See merge request !1987
2015-12-14 10:35:40 +00:00
Kamil Trzciński e81ae1e68c Merge branch 'ci-services-migrate' into 'master'
Ci Services migrate



See merge request !1985
2015-12-14 10:32:57 +00:00
Grzegorz Bizon b8f67c5e47 Do not display ci build status if builds enabled but no .gitlab-ci.yml
Ref #3827
2015-12-14 11:28:49 +01:00
Stan Hu 3efae53bd7 Add open_issues_count to project API
This is needed to support Huboard and a generally useful value.
2015-12-11 23:17:36 -08:00
Kamil Trzcinski c9ac38a074 Use Gitlab::Git instead of Ci::Git 2015-12-11 18:02:32 +01:00
Kamil Trzcinski dd8102f2d1 Fix specs 2015-12-11 18:02:10 +01:00
Kamil Trzcinski 513d551c8f Fix after column rename 2015-12-11 18:02:10 +01:00
Kamil Trzcinski 73b04bebad Fix errors 2015-12-11 18:02:09 +01:00
Kamil Trzcinski 1e2a4895c8 Finishing touches 2015-12-11 18:02:09 +01:00
Kamil Trzcinski 64bfd9d71a Remove ci_ prefix from all ci related things 2015-12-11 18:02:09 +01:00
Kamil Trzcinski 8cdd54cc06 Add runners token 2015-12-11 18:02:09 +01:00
Kamil Trzcinski e80e3f5372 Migrate CI::Project to Project 2015-12-11 18:02:09 +01:00
Kamil Trzcinski 8b4cdc50fc Fix indentation and BuildsEmailService 2015-12-11 18:01:57 +01:00
Greg Smethells 0272f27401 display referenced merge requests in issue description with CI status 2015-12-11 10:14:55 -06:00
Grzegorz Bizon 917effb737 Make sure that token ensure_* method always returns a token 2015-12-11 14:39:51 +01:00
Kamil Trzcinski 71e6a93db9 Change default values 2015-12-11 13:28:40 +01:00
Valery Sizov 72b7d1f59d emoji aliases problem 2015-12-11 13:17:12 +02:00
Grzegorz Bizon 5a7b94f6d1 Ensure that app settings contains runners registration token 2015-12-11 10:39:39 +01:00
Grzegorz Bizon d90d3db32b Use save! when generating new token in TokenAuthenticatable 2015-12-11 10:39:39 +01:00