Skip to content

Commit 12f0730

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix-git-hooks-when-creating-file
* upstream/master: (141 commits) Log mv_namespace parameters Remove header ids from University docs Added test that checks the correct select box is there for the LFS enabled setting. Simplify copy on "Create a new list" dropdown in Issue Boards Fix `LFS enabled` select box. Use Commit#author so we share logic and cache Move admin abuse report spinach test to rspec fixes non-retina shadow and browser zoom issue Use default `closest` if available! Adds polyfill for CustomEvent Move abuse report spinach test to rspec Add support of Chrome/Chromium in requirements.md Fixed dragging issues on issue boards Grapify the sidekiq metrics API Add nested groups support to the routing Correctly determine mergeability of MR with no discussions API: Add endpoint to delete a group share Add a starting date to milestones Update ProjectTeam#fetch_members to use project authorizations Update ProjectTeam#max_member_access_for_user_ids to use project authorizations ...
2 parents b82f415 + 3943e63 commit 12f0730

File tree

787 files changed

+3170
-2402
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

787 files changed

+3170
-2402
lines changed

.eslintrc

+11-22
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,20 @@
11
{
2+
"env": {
3+
"browser": true,
4+
"es6": true
5+
},
26
"extends": "airbnb",
7+
"globals": {
8+
"$": false,
9+
"_": false,
10+
"gl": false,
11+
"gon": false,
12+
"jQuery": false
13+
},
314
"plugins": [
415
"filenames"
516
],
617
"rules": {
718
"filenames/match-regex": [2, "^[a-z0-9_]+(.js)?$"]
8-
},
9-
"globals": {
10-
"$": false,
11-
"_": false,
12-
"beforeEach": false,
13-
"d3": false,
14-
"define": false,
15-
"describe": false,
16-
"document": false,
17-
"expect": false,
18-
"fixture": false,
19-
"gl": false,
20-
"it": false,
21-
"jQuery": false,
22-
"Mousetrap": false,
23-
"spyOn": false,
24-
"spyOnEvent": false,
25-
"Turbolinks": false,
26-
"window": false,
27-
"Vue": false,
28-
"Flash": false,
29-
"Cookies": false
3019
}
3120
}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
.chef
66
.directory
77
/.envrc
8+
eslint-report.html
89
/.gitlab_shell_secret
910
.idea
1011
/.rbenv-version

.gitlab-ci.yml

+34-7
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ before_script:
2020
- source ./scripts/prepare_build.sh
2121
- cp config/gitlab.yml.example config/gitlab.yml
2222
- bundle --version
23-
- '[ "$USE_BUNDLE_INSTALL" != "true" ] || retry bundle install --without postgres production --jobs $(nproc) "${FLAGS[@]}"'
23+
- '[ "$USE_BUNDLE_INSTALL" != "true" ] || retry bundle install --without postgres production --jobs $(nproc) $FLAGS'
2424
- retry gem install knapsack
2525
- '[ "$SETUP_DB" != "true" ] || bundle exec rake db:drop db:create db:schema:load db:migrate add_limits_mysql'
2626

@@ -271,12 +271,17 @@ rake db:seed_fu:
271271
- log/development.log
272272

273273
teaspoon:
274+
cache:
275+
paths:
276+
- vendor/ruby
277+
- node_modules/
274278
stage: test
275279
<<: *use-db
276280
script:
277281
- curl --silent --location https://deb.nodesource.com/setup_6.x | bash -
278282
- apt-get install --assume-yes nodejs
279-
- npm install --global istanbul
283+
- npm install
284+
- npm link istanbul
280285
- rake teaspoon
281286
artifacts:
282287
name: coverage-javascript
@@ -323,7 +328,7 @@ migration paths:
323328
- git checkout -f FETCH_HEAD
324329
- cp config/resque.yml.example config/resque.yml
325330
- sed -i 's/localhost/redis/g' config/resque.yml
326-
- bundle install --without postgres production --jobs $(nproc) ${FLAGS[@]} --retry=3
331+
- bundle install --without postgres production --jobs $(nproc) $FLAGS --retry=3
327332
- rake db:drop db:create db:schema:load db:seed_fu
328333
- git checkout $CI_BUILD_REF
329334
- source scripts/prepare_build.sh
@@ -344,13 +349,33 @@ coverage:
344349
- coverage/index.html
345350
- coverage/assets/
346351

347-
lint-javascript:
352+
lint:javascript:
353+
cache:
354+
paths:
355+
- node_modules/
348356
stage: test
349-
image: "node:latest"
357+
image: "node:7.1"
358+
before_script:
359+
- npm install
360+
script:
361+
- npm --silent run eslint
362+
363+
lint:javascript:report:
364+
cache:
365+
paths:
366+
- node_modules/
367+
stage: post-test
368+
image: "node:7.1"
350369
before_script:
351370
- npm install
352371
script:
353-
- npm run eslint
372+
- find app/ spec/ -name '*.js' -or -name '*.js.es6' -exec sed --in-place 's|/\* eslint-disable .*\*/||' {} \; # run report over all files
373+
- npm --silent run eslint-report || true # ignore exit code
374+
artifacts:
375+
name: eslint-report
376+
expire_in: 31d
377+
paths:
378+
- eslint-report.html
354379

355380
# Trigger docs build
356381
# https://gitlab.com/gitlab-com/doc-gitlab-com/blob/master/README.md#deployment-process
@@ -376,7 +401,7 @@ notify:slack:
376401
SETUP_DB: "false"
377402
USE_BUNDLE_INSTALL: "false"
378403
script:
379-
- ./scripts/notify_slack.sh "#builds" "Build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\` See <https://gitlab.com/gitlab-org/$(basename "$PWD")/commit/"$CI_BUILD_REF"/builds>"
404+
- ./scripts/notify_slack.sh "#development" "Build on \`$CI_BUILD_REF_NAME\` failed! Commit \`$(git log -1 --oneline)\` See <https://gitlab.com/gitlab-org/$(basename "$PWD")/commit/"$CI_BUILD_REF"/builds>"
380405
when: on_failure
381406
only:
382407
- master@gitlab-org/gitlab-ce
@@ -390,11 +415,13 @@ pages:
390415
dependencies:
391416
- coverage
392417
- teaspoon
418+
- lint:javascript:report
393419
script:
394420
- mv public/ .public/
395421
- mkdir public/
396422
- mv coverage public/coverage-ruby
397423
- mv coverage-javascript/default/ public/coverage-javascript/
424+
- mv eslint-report.html public/
398425
artifacts:
399426
paths:
400427
- public

CHANGELOG.md

+125
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,131 @@ entry.
44

55
## 8.14.0 (2016-11-22)
66

7+
- Use separate email-token for incoming email and revert back the inactive feature. !5914
8+
- API: allow recursive tree request. !6088 (Rebeca Mendez)
9+
- Replace jQuery.timeago with timeago.js. !6274 (ClemMakesApps)
10+
- Add CI notifications. Who triggered a pipeline would receive an email after the pipeline is succeeded or failed. Users could also update notification settings accordingly. !6342
11+
- Add button to delete all merged branches. !6449 (Toon Claes)
12+
- Finer-grained Git gargage collection. !6588
13+
- Introduce better credential and error checking to `rake gitlab:ldap:check`. !6601
14+
- Centralize LDAP config/filter logic. !6606
15+
- Make system notes less intrusive. !6755
16+
- Process commits using a dedicated Sidekiq worker. !6802
17+
- Show random messages when the To Do list is empty. !6818 (Josep Llaneras)
18+
- Precalculate user's authorized projects in database. !6839
19+
- Fix record not found error on NewNoteWorker processing. !6863 (Oswaldo Ferreira)
20+
- Show avatars in mention dropdown. !6865
21+
- Fix expanding a collapsed diff when converting a symlink to a regular file. !6953
22+
- Defer saving project services to the database if there are no user changes. !6958
23+
- Omniauth auto link LDAP user falls back to find by DN when user cannot be found by UID. !7002
24+
- Display "folders" for environments. !7015
25+
- Make it possible to trigger builds from webhooks. !7022 (Dmitry Poray)
26+
- Fix showing pipeline status for a given commit from correct branch. !7034
27+
- Add link to build pipeline within individual build pages. !7082
28+
- Add api endpoint `/groups/owned`. !7103 (Borja Aparicio)
29+
- Add query param to filter users by external & blocked type. !7109 (Yatish Mehta)
30+
- Issues atom feed url reflect filters on dashboard. !7114 (Lucas Deschamps)
31+
- Add setting to only allow merge requests to be merged when all discussions are resolved. !7125 (Rodolfo Arruda)
32+
- Remove an extra leading space from diff paste data. !7133 (Hiroyuki Sato)
33+
- Fix trace patching feature - update the updated_at value. !7146
34+
- Fix 404 on network page when entering non-existent git revision. !7172 (Hiroyuki Sato)
35+
- Rewrite git blame spinach feature tests to rspec feature tests. !7197 (Lisanne Fellinger)
36+
- Add api endpoint for creating a pipeline. !7209 (Ido Leibovich)
37+
- Allow users to subscribe to group labels. !7215
38+
- Reduce API calls needed when importing issues and pull requests from GitHub. !7241 (Andrew Smith (EspadaV8))
39+
- Only skip group when it's actually a group in the "Share with group" select. !7262
40+
- Introduce round-robin project creation to spread load over multiple shards. !7266
41+
- Ensure merge request's "remove branch" accessors return booleans. !7267
42+
- Fix no "Register" tab if ldap auth is enabled (#24038). !7274 (Luc Didry)
43+
- Expose label IDs in API. !7275 (Rares Sfirlogea)
44+
- Fix invalid filename validation on eslint. !7281
45+
- API: Ability to retrieve version information. !7286 (Robert Schilling)
46+
- Added ability to throttle Sidekiq Jobs. !7292
47+
- Set default Sidekiq retries to 3. !7294
48+
- Fix double event and ajax request call on MR page. !7298 (YarNayar)
49+
- Unify anchor link format for MR diff files. !7298 (YarNayar)
50+
- Require projects before creating milestone. !7301 (gfyoung)
51+
- Fix error when using invalid branch name when creating a new pipeline. !7324
52+
- Return 400 when creating a system hook fails. !7350 (Robert Schilling)
53+
- Auto-close environment when branch is deleted. !7355
54+
- Rework cache invalidation so only changed data is refreshed. !7360
55+
- Navigation bar issuables counters reflects dashboard issuables counters. !7368 (Lucas Deschamps)
56+
- Fix cache for commit status in commits list to respect branches. !7372
57+
- fixes 500 error on project show when user is not logged in and project is still empty. !7376
58+
- Removed gray button styling from todo buttons in sidebars. !7387
59+
- Fix project records with invalid visibility_level values. !7391
60+
- Use 'Forking in progress' title when appropriate. !7394 (Philip Karpiak)
61+
- Fix error links in help index page. !7396 (Fu Xu)
62+
- Add support for reply-by-email when the email only contains HTML. !7397
63+
- [Fix] Extra divider issue in dropdown. !7398
64+
- Project download buttons always show. !7405 (Philip Karpiak)
65+
- Give search-input correct padding-right value. !7407 (Philip Karpiak)
66+
- Remove additional padding on right-aligned items in MR widget. !7411 (Didem Acet)
67+
- Fix issue causing Labels not to appear in sidebar on MR page. !7416 (Alex Sanford)
68+
- Allow mail_room idle_timeout option to be configurable. !7423
69+
- Fix misaligned buttons on admin builds page. !7424 (Didem Acet)
70+
- Disable "Request Access" functionality by default for new projects and groups. !7425
71+
- fix shibboleth misconfigurations resulting in authentication bypass. !7428
72+
- Added Mattermost slash command. !7438
73+
- Allow to connect Chat account with GitLab. !7450
74+
- Make New Group form respect default visibility application setting. !7454 (Jacopo Beschi @jacopo-beschi)
75+
- Fix Error 500 when creating a merge request that contains an image that was deleted and added. !7457
76+
- Fix labels API by adding missing current_user parameter. !7458 (Francesco Coda Zabetta)
77+
- Changed restricted visibility admin buttons to checkboxes. !7463
78+
- Send credentials (currently for registry only) with build data to GitLab Runner. !7474
79+
- Fix POST /internal/allowed to cope with gitlab-shell v4.0.0 project paths. !7480
80+
- Adds es6-promise Polyfill. !7482
81+
- Added colored labels to related MR list. !7486 (Didem Acet)
82+
- Use setter for key instead AR callback. !7488 (Semyon Pupkov)
83+
- Limit labels returned for a specific project as an administrator. !7496
84+
- Change slack notification comment link. !7498 (Herbert Kagumba)
85+
- Allow registering users whose username contains dots. !7500 (Timothy Andrew)
86+
- Fix race condition during group deletion and remove stale records present due to this bug. !7528 (Timothy Andrew)
87+
- Check all namespaces on validation of new username. !7537
88+
- Pass correct tag target to post-receive hook when creating tag via UI. !7556
89+
- Add help message for configuring Mattermost slash commands. !7558
90+
- Fix typo in Build page JavaScript. !7563 (winniehell)
91+
- Make job script a required configuration entry. !7566
92+
- Fix errors happening when source branch of merge request is removed and then restored. !7568
93+
- Fix a wrong "The build for this merge request failed" message. !7579
94+
- Fix Margins look weird in Project page with pinned sidebar in project stats bar. !7580
95+
- Fix regression causing bad error message to appear on Merge Request form. !7599 (Alex Sanford)
96+
- Fix activity page endless scroll on large viewports. !7608
97+
- Fix 404 on some group pages when name contains dot. !7614
98+
- Do not create a new TODO when failed build is allowed to fail. !7618
99+
- Add deployment command to ChatOps. !7619
100+
- Fix 500 error when group name ends with git. !7630
101+
- Fix undefined error in CI linter. !7650
102+
- Show events per stage on Cycle Analytics page. !23449
103+
- Add JIRA remotelinks and prevent duplicated closing messages.
104+
- Fixed issue boards counter border when unauthorized.
105+
- Add placeholder for the example text for custom hex color on label creation popup. (Luis Alonso Chavez Armendariz)
106+
- Add an index for project_id in project_import_data to improve performance.
107+
- Fix broken commits search.
108+
- Assignee dropdown now searches author of issue or merge request.
109+
- Clicking "force remove source branch" label now toggles the checkbox again.
110+
- More aggressively preload on merge request and issue index pages.
111+
- Fix broken link to observatory cli on Frontend Dev Guide. (Sam Rose)
112+
- Fixing the issue of the project fork url giving 500 when not signed instead of being redirected to sign in page. (Cagdas Gerede)
113+
- Fix: Guest sees some repository details and gets 404.
114+
- Add logging for rack attack events to production.log.
115+
- Add environment info to builds page.
116+
- Allow commit note to be visible if repo is visible.
117+
- Bump omniauth-gitlab to 1.0.2 to fix incompatibility with omniauth-oauth2.
118+
- Redesign pipelines page.
119+
- Faster search inside Project.
120+
- Search for a filename in a project.
121+
- Allow sorting groups in the API.
122+
- Fix: Todos Filter Shows All Users.
123+
- Use the Gitlab Workhorse HTTP header in the admin dashboard. (Chris Wright)
124+
- Fixed multiple requests sent when opening dropdowns.
125+
- Added permissions per stage to cycle analytics endpoint.
126+
- Fix project Visibility Level selector not using default values.
127+
- Add events per stage to cycle analytics.
128+
- Allow to test JIRA service settings without having a repository.
129+
- Fix JIRA references for project snippets.
130+
- Allow enabling and disabling commit and MR events for JIRA.
131+
- simplify url generation. (Jarka Kadlecova)
7132
- Show correct environment log in admin/logs (@duk3luk3 !7191)
8133
- Fix Milestone dropdown not stay selected for `Upcoming` and `No Milestone` option !7117
9134
- Diff collapse won't shift when collapsing.

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.14.0-pre
1+
8.15.0-pre

app/assets/javascripts/activities.js.es6

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/* eslint-disable no-param-reassign, class-methods-use-this */
2-
/* global Pager, Cookies */
2+
/* global Pager */
3+
/* global Cookies */
34

45
((global) => {
56
class Activities {

app/assets/javascripts/boards/components/board_card.js.es6

+3
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@
5454
mouseDown () {
5555
this.showDetail = true;
5656
},
57+
mouseMove() {
58+
this.showDetail = false;
59+
},
5760
showIssue (e) {
5861
const targetTagName = e.target.tagName.toLowerCase();
5962

app/assets/javascripts/boards/components/board_list.js.es6

+2-4
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,10 @@
9494
gl.issueBoards.onStart();
9595
},
9696
onAdd: (e) => {
97-
// Add the element back to original list to allow Vue to handle DOM updates
98-
e.from.appendChild(e.item);
97+
gl.issueBoards.BoardsStore.moveIssueToList(Store.moving.list, this.list, Store.moving.issue);
9998

10099
this.$nextTick(() => {
101-
// Update the issues once we know the element has been moved
102-
gl.issueBoards.BoardsStore.moveIssueToList(Store.moving.list, this.list, Store.moving.issue);
100+
e.item.remove();
103101
});
104102
},
105103
});

app/assets/javascripts/build.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
this.pageUrl = options.pageUrl;
1313
this.buildUrl = options.buildUrl;
1414
this.buildStatus = options.buildStatus;
15-
this.state = options.state1;
15+
this.state = options.logState;
1616
this.buildStage = options.buildStage;
1717
this.updateDropdown = bind(this.updateDropdown, this);
1818
this.$document = $(document);

app/assets/javascripts/cycle_analytics/components/stage_code_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_issue_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_plan_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_production_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_review_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_staging_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/stage_test_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/components/total_time_component.js.es6

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
/* eslint-disable no-param-reassign */
2+
/* global Vue */
3+
24
((global) => {
35
global.cycleAnalytics = global.cycleAnalytics || {};
46

app/assets/javascripts/cycle_analytics/cycle_analytics_bundle.js.es6

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/* global Vue */
2+
/* global Cookies */
3+
/* global Flash */
4+
15
//= require vue
26
//= require_tree ./svg
37
//= require_tree .

0 commit comments

Comments
 (0)