Commit 9ac56123 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent 5aa96ff1
...@@ -279,10 +279,6 @@ coverage-frontend: ...@@ -279,10 +279,6 @@ coverage-frontend:
- date - date
- yarn run webpack-prod - yarn run webpack-prod
qa-frontend-node:8:
extends: .qa-frontend-node
image: node:carbon
qa-frontend-node:10: qa-frontend-node:10:
extends: .qa-frontend-node extends: .qa-frontend-node
image: node:dubnium image: node:dubnium
......
...@@ -314,10 +314,6 @@ ...@@ -314,10 +314,6 @@
.gl-label { .gl-label {
line-height: $gl-line-height; line-height: $gl-line-height;
} }
.gl-label-scoped .gl-label-text:last-of-type {
padding-right: 22px;
}
} }
.label-description { .label-description {
......
---
title: Refactor workhorse passthrough URL checker
merge_request: 26157
author: Takuya Noguchi
type: performance
---
title: Bump minimum node version to v10.13.0
merge_request: 26831
author:
type: other
...@@ -49,7 +49,7 @@ visit a specific URL or interact with elements on the page. It can be programmat ...@@ -49,7 +49,7 @@ visit a specific URL or interact with elements on the page. It can be programmat
from a variety of programming languages. In this article we're going to be using the from a variety of programming languages. In this article we're going to be using the
[WebdriverIO](https://webdriver.io/) JavaScript bindings, but the general concept should carry over [WebdriverIO](https://webdriver.io/) JavaScript bindings, but the general concept should carry over
pretty well to pretty well to
[other programming languages supported by Selenium](https://selenium.dev/about/platforms.jsp#programming-languages). [other programming languages supported by Selenium](https://www.selenium.dev/documentation/en/legacy_docs/selenium_rc/).
## Writing tests ## Writing tests
......
...@@ -172,7 +172,7 @@ the following preparations into account. ...@@ -172,7 +172,7 @@ the following preparations into account.
- If queries rely on prior migrations that are not present yet on production - If queries rely on prior migrations that are not present yet on production
(eg indexes, columns), you can use a [one-off instance from the restore (eg indexes, columns), you can use a [one-off instance from the restore
pipeline](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd) pipeline](https://ops.gitlab.net/gitlab-com/gl-infra/gitlab-restore/postgres-gprd)
in order to establish a proper testing environment. in order to establish a proper testing environment. If you don't have access to this project, reach out to #database on Slack to get advice on how to proceed.
- Avoid N+1 problems and minimalize the [query count](merge_request_performance_guidelines.md#query-counts). - Avoid N+1 problems and minimalize the [query count](merge_request_performance_guidelines.md#query-counts).
### Timing guidelines for migrations ### Timing guidelines for migrations
......
...@@ -9,7 +9,7 @@ GitLab is built on top of [Ruby on Rails](https://rubyonrails.org) using [Haml][ ...@@ -9,7 +9,7 @@ GitLab is built on top of [Ruby on Rails](https://rubyonrails.org) using [Haml][
Be wary of [the limitations that come with using Hamlit][hamlit-limits]. We also use [SCSS](https://sass-lang.com) and plain JavaScript with Be wary of [the limitations that come with using Hamlit][hamlit-limits]. We also use [SCSS](https://sass-lang.com) and plain JavaScript with
modern ECMAScript standards supported through [Babel][babel] and ES module support through [webpack][webpack]. modern ECMAScript standards supported through [Babel][babel] and ES module support through [webpack][webpack].
Working with our frontend assets requires Node (v8.10.0 or greater) and Yarn Working with our frontend assets requires Node (v10.13.0 or greater) and Yarn
(v1.10.0 or greater). You can find information on how to install these on our (v1.10.0 or greater). You can find information on how to install these on our
[installation guide][install]. [installation guide][install].
......
...@@ -263,7 +263,7 @@ Since GitLab 8.17, GitLab requires the use of Node to compile JavaScript ...@@ -263,7 +263,7 @@ Since GitLab 8.17, GitLab requires the use of Node to compile JavaScript
assets, and Yarn to manage JavaScript dependencies. The current minimum assets, and Yarn to manage JavaScript dependencies. The current minimum
requirements for these are: requirements for these are:
- `node` >= v8.10.0. (We recommend node 12.x as it is faster) - `node` >= v10.13.0. (We recommend node 12.x as it is faster)
- `yarn` >= v1.10.0. - `yarn` >= v1.10.0.
In many distros, In many distros,
......
...@@ -59,16 +59,16 @@ GitLab 11.11 and higher only supports Git 2.21.x and newer, and ...@@ -59,16 +59,16 @@ GitLab 11.11 and higher only supports Git 2.21.x and newer, and
### Node.js versions ### Node.js versions
Beginning in GitLab 11.8, we only support Node.js 8.10.0 or higher, and dropped Beginning in GitLab 12.9, we only support node.js 10.13.0 or higher, and we have dropped
support for Node.js 6. support for node.js 8. (node.js 6 support was dropped in GitLab 11.8)
We recommend Node 12.x, as it is faster. We recommend Node 12.x, as it is faster.
GitLab uses [webpack](https://webpack.js.org/) to compile frontend assets, which requires a minimum GitLab uses [webpack](https://webpack.js.org/) to compile frontend assets, which requires a minimum
version of Node.js 8.10.0. version of Node.js 10.13.0.
You can check which version you are running with `node -v`. If you are running You can check which version you are running with `node -v`. If you are running
a version older than `v8.10.0`, you need to update to a newer version. You a version older than `v10.13.0`, you need to update to a newer version. You
can find instructions to install from community maintained packages or compile can find instructions to install from community maintained packages or compile
from source at the [Node.js website](https://nodejs.org/en/download). from source at the [Node.js website](https://nodejs.org/en/download).
......
...@@ -5,9 +5,6 @@ module API ...@@ -5,9 +5,6 @@ module API
include PaginationParams include PaginationParams
before do before do
# TODO: Remove flag: https://gitlab.com/gitlab-org/gitlab/issues/38121
not_found! unless Feature.enabled?(:remote_mirrors_api, user_project)
unauthorized! unless can?(current_user, :admin_remote_mirror, user_project) unauthorized! unless can?(current_user, :admin_remote_mirror, user_project)
end end
......
...@@ -90,12 +90,14 @@ module Gitlab ...@@ -90,12 +90,14 @@ module Gitlab
# Overridden in EE module # Overridden in EE module
def whitelisted_routes def whitelisted_routes
grack_route? || internal_route? || lfs_route? || compare_git_revisions_route? || sidekiq_route? || session_route? || graphql_query? workhorse_passthrough_route? || internal_route? || lfs_route? || compare_git_revisions_route? || sidekiq_route? || session_route? || graphql_query?
end end
def grack_route? # URL for requests passed through gitlab-workhorse to rails-web
# https://gitlab.com/gitlab-org/gitlab-workhorse/-/merge_requests/12
def workhorse_passthrough_route?
# Calling route_hash may be expensive. Only do it if we think there's a possible match # Calling route_hash may be expensive. Only do it if we think there's a possible match
return false unless return false unless request.post? &&
request.path.end_with?('.git/git-upload-pack', '.git/git-receive-pack') request.path.end_with?('.git/git-upload-pack', '.git/git-receive-pack')
WHITELISTED_GIT_ROUTES[route_hash[:controller]]&.include?(route_hash[:action]) WHITELISTED_GIT_ROUTES[route_hash[:controller]]&.include?(route_hash[:action])
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
"apollo-link": "^1.2.11", "apollo-link": "^1.2.11",
"apollo-link-batch-http": "^1.2.11", "apollo-link-batch-http": "^1.2.11",
"apollo-upload-client": "^10.0.0", "apollo-upload-client": "^10.0.0",
"autosize": "^4.0.0", "autosize": "^4.0.2",
"aws-sdk": "^2.526.0", "aws-sdk": "^2.526.0",
"axios": "^0.19.0", "axios": "^0.19.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
...@@ -72,15 +72,15 @@ ...@@ -72,15 +72,15 @@
"dateformat": "^3.0.3", "dateformat": "^3.0.3",
"deckar01-task_list": "^2.3.1", "deckar01-task_list": "^2.3.1",
"diff": "^3.4.0", "diff": "^3.4.0",
"document-register-element": "1.13.1", "document-register-element": "1.14.3",
"dropzone": "^4.2.0", "dropzone": "^4.2.0",
"emoji-regex": "^7.0.3", "emoji-regex": "^7.0.3",
"emoji-unicode-version": "^0.2.1", "emoji-unicode-version": "^0.2.1",
"exports-loader": "^0.7.0", "exports-loader": "^0.7.0",
"file-loader": "^4.2.0", "file-loader": "^5.1.0",
"formdata-polyfill": "^3.0.11", "formdata-polyfill": "^3.0.19",
"fuzzaldrin-plus": "^0.5.0", "fuzzaldrin-plus": "^0.6.0",
"glob": "^7.1.2", "glob": "^7.1.6",
"graphql": "^14.0.2", "graphql": "^14.0.2",
"immer": "^5.2.1", "immer": "^5.2.1",
"imports-loader": "^0.8.0", "imports-loader": "^0.8.0",
...@@ -102,45 +102,45 @@ ...@@ -102,45 +102,45 @@
"mousetrap": "^1.4.6", "mousetrap": "^1.4.6",
"pdfjs-dist": "^2.0.943", "pdfjs-dist": "^2.0.943",
"pikaday": "^1.8.0", "pikaday": "^1.8.0",
"popper.js": "^1.14.7", "popper.js": "^1.16.1",
"prismjs": "^1.6.0", "prismjs": "^1.6.0",
"prosemirror-markdown": "^1.3.0", "prosemirror-markdown": "^1.3.0",
"prosemirror-model": "^1.6.4", "prosemirror-model": "^1.6.4",
"raphael": "^2.2.7", "raphael": "^2.2.7",
"raw-loader": "^3.1.0", "raw-loader": "^4.0.0",
"sanitize-html": "^1.20.0", "sanitize-html": "^1.22.0",
"select2": "3.5.2-browserify", "select2": "3.5.2-browserify",
"smooshpack": "^0.0.54", "smooshpack": "^0.0.54",
"sortablejs": "^1.10.0", "sortablejs": "^1.10.2",
"sql.js": "^0.4.0", "sql.js": "^0.4.0",
"stickyfilljs": "^2.0.5", "stickyfilljs": "^2.1.0",
"style-loader": "^1.0.0", "style-loader": "^1.1.3",
"svg4everybody": "2.1.9", "svg4everybody": "2.1.9",
"swagger-ui-dist": "^3.24.3", "swagger-ui-dist": "^3.24.3",
"three": "^0.84.0", "three": "^0.84.0",
"three-orbit-controls": "^82.1.0", "three-orbit-controls": "^82.1.0",
"three-stl-loader": "^1.0.4", "three-stl-loader": "^1.0.4",
"timeago.js": "^4.0.1", "timeago.js": "^4.0.2",
"tiptap": "^1.8.0", "tiptap": "^1.8.0",
"tiptap-commands": "^1.4.0", "tiptap-commands": "^1.4.0",
"tiptap-extensions": "^1.8.0", "tiptap-extensions": "^1.8.0",
"tributejs": "4.1.3", "tributejs": "4.1.3",
"underscore": "^1.9.0", "underscore": "^1.9.2",
"unfetch": "^4.1.0", "unfetch": "^4.1.0",
"url-loader": "^2.1.0", "url-loader": "^3.0.0",
"visibilityjs": "^1.2.4", "visibilityjs": "^1.2.4",
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-apollo": "^3.0.0-beta.28", "vue-apollo": "^3.0.0-beta.28",
"vue-loader": "^15.7.1", "vue-loader": "^15.9.0",
"vue-router": "^3.0.2", "vue-router": "^3.0.2",
"vue-template-compiler": "^2.6.10", "vue-template-compiler": "^2.6.10",
"vue-virtual-scroll-list": "^1.4.4", "vue-virtual-scroll-list": "^1.4.4",
"vuedraggable": "^2.23.0", "vuedraggable": "^2.23.0",
"vuex": "^3.1.0", "vuex": "^3.1.0",
"webpack": "^4.41.5", "webpack": "^4.42.0",
"webpack-bundle-analyzer": "^3.5.1", "webpack-bundle-analyzer": "^3.6.0",
"webpack-cli": "^3.3.9", "webpack-cli": "^3.3.11",
"webpack-stats-plugin": "^0.3.0", "webpack-stats-plugin": "^0.3.1",
"worker-loader": "^2.0.0", "worker-loader": "^2.0.0",
"xterm": "^3.5.0" "xterm": "^3.5.0"
}, },
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
"stylelint-scss": "^3.9.2", "stylelint-scss": "^3.9.2",
"timezone-mock": "^1.0.8", "timezone-mock": "^1.0.8",
"vue-jest": "^4.0.0-beta.2", "vue-jest": "^4.0.0-beta.2",
"webpack-dev-server": "^3.8.1", "webpack-dev-server": "^3.10.3",
"yarn-check-webpack-plugin": "^1.2.0", "yarn-check-webpack-plugin": "^1.2.0",
"yarn-deduplicate": "^1.1.1" "yarn-deduplicate": "^1.1.1"
}, },
...@@ -212,7 +212,7 @@ ...@@ -212,7 +212,7 @@
"monaco-editor": "0.18.1" "monaco-editor": "0.18.1"
}, },
"engines": { "engines": {
"node": ">=8.10.0", "node": ">=10.13.0",
"yarn": "^1.10.0" "yarn": "^1.10.0"
} }
} }
...@@ -24,19 +24,6 @@ describe API::RemoteMirrors do ...@@ -24,19 +24,6 @@ describe API::RemoteMirrors do
expect(response).to have_gitlab_http_status(:success) expect(response).to have_gitlab_http_status(:success)
expect(response).to match_response_schema('remote_mirrors') expect(response).to match_response_schema('remote_mirrors')
end end
# TODO: Remove flag: https://gitlab.com/gitlab-org/gitlab/issues/38121
context 'with the `remote_mirrors_api` feature disabled' do
before do
stub_feature_flags(remote_mirrors_api: false)
end
it 'responds with `not_found`' do
get api(route, user)
expect(response).to have_gitlab_http_status(:not_found)
end
end
end end
describe 'POST /projects/:id/remote_mirrors' do describe 'POST /projects/:id/remote_mirrors' do
...@@ -132,18 +119,5 @@ describe API::RemoteMirrors do ...@@ -132,18 +119,5 @@ describe API::RemoteMirrors do
expect(json_response['keep_divergent_refs']).to eq(true) expect(json_response['keep_divergent_refs']).to eq(true)
end end
end end
# TODO: Remove flag: https://gitlab.com/gitlab-org/gitlab/issues/38121
context 'with the `remote_mirrors_api` feature disabled' do
before do
stub_feature_flags(remote_mirrors_api: false)
end
it 'responds with `not_found`' do
put api(route[mirror.id], user)
expect(response).to have_gitlab_http_status(:not_found)
end
end
end end
end end
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment