Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
dbd50b6e20
commit
8f1f6b374b
|
|
@ -94,10 +94,7 @@ schedule:review-build-cng:
|
|||
variables:
|
||||
HOST_SUFFIX: "${CI_ENVIRONMENT_SLUG}"
|
||||
DOMAIN: "-${CI_ENVIRONMENT_SLUG}.${REVIEW_APPS_DOMAIN}"
|
||||
# v2.4.4 + two improvements:
|
||||
# - Allow to pass an EE license when installing the chart: https://gitlab.com/gitlab-org/charts/gitlab/merge_requests/1008
|
||||
# - Allow to customize the livenessProbe for `gitlab-shell`: https://gitlab.com/gitlab-org/charts/gitlab/merge_requests/1021
|
||||
GITLAB_HELM_CHART_REF: "6c655ed77e60f1f7f533afb97bef8c9cb7dc61eb"
|
||||
GITLAB_HELM_CHART_REF: "v2.5.1"
|
||||
GITLAB_EDITION: "ce"
|
||||
environment:
|
||||
name: review/${CI_COMMIT_REF_NAME}
|
||||
|
|
@ -135,13 +132,11 @@ review-deploy:
|
|||
- .review-deploy-base
|
||||
- .only-review
|
||||
- .only:changes-code-qa
|
||||
needs: ["review-build-cng"]
|
||||
|
||||
schedule:review-deploy:
|
||||
extends:
|
||||
- .review-deploy-base
|
||||
- .only-review-schedules
|
||||
needs: ["schedule:review-build-cng"]
|
||||
|
||||
.base-review-stop:
|
||||
extends:
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
1.73.0
|
||||
1.74.0
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import '~/boards/models/project';
|
|||
import store from '~/boards/stores';
|
||||
import boardsStore from '~/boards/stores/boards_store';
|
||||
import ModalStore from '~/boards/stores/modal_store';
|
||||
import BoardService from 'ee_else_ce/boards/services/board_service';
|
||||
import modalMixin from '~/boards/mixins/modal_mixins';
|
||||
import '~/boards/filters/due_date_filters';
|
||||
import Board from 'ee_else_ce/boards/components/board';
|
||||
|
|
@ -97,7 +96,6 @@ export default () => {
|
|||
bulkUpdatePath: this.bulkUpdatePath,
|
||||
boardId: this.boardId,
|
||||
});
|
||||
gl.boardService = new BoardService();
|
||||
boardsStore.rootPath = this.boardsEndpoint;
|
||||
|
||||
eventHub.$on('updateTokens', this.updateTokens);
|
||||
|
|
@ -116,7 +114,7 @@ export default () => {
|
|||
this.filterManager.setup();
|
||||
|
||||
boardsStore.disabled = this.disabled;
|
||||
gl.boardService
|
||||
boardsStore
|
||||
.all()
|
||||
.then(res => res.data)
|
||||
.then(lists => {
|
||||
|
|
@ -155,7 +153,8 @@ export default () => {
|
|||
newIssue.setFetchingState('subscriptions', true);
|
||||
setWeigthFetchingState(newIssue, true);
|
||||
setEpicFetchingState(newIssue, true);
|
||||
BoardService.getIssueInfo(sidebarInfoEndpoint)
|
||||
boardsStore
|
||||
.getIssueInfo(sidebarInfoEndpoint)
|
||||
.then(res => res.data)
|
||||
.then(data => {
|
||||
const {
|
||||
|
|
@ -211,7 +210,8 @@ export default () => {
|
|||
const { issue } = boardsStore.detail;
|
||||
if (issue.id === id && issue.toggleSubscriptionEndpoint) {
|
||||
issue.setFetchingState('subscriptions', true);
|
||||
BoardService.toggleIssueSubscription(issue.toggleSubscriptionEndpoint)
|
||||
boardsStore
|
||||
.toggleIssueSubscription(issue.toggleSubscriptionEndpoint)
|
||||
.then(() => {
|
||||
issue.setFetchingState('subscriptions', false);
|
||||
issue.updateData({
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ export default {
|
|||
/>
|
||||
<gl-dropdown
|
||||
v-gl-tooltip
|
||||
class="mx-2"
|
||||
class="ml-auto mx-3"
|
||||
toggle-class="btn btn-transparent border-0"
|
||||
:right="true"
|
||||
:no-caret="true"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import getRef from './queries/getRef.query.graphql';
|
|||
let fetchpromise;
|
||||
let resolvers = [];
|
||||
|
||||
export function resolveCommit(commits, { resolve, entry }) {
|
||||
const commit = commits.find(c => c.fileName === entry.name && c.type === entry.type);
|
||||
export function resolveCommit(commits, path, { resolve, entry }) {
|
||||
const commit = commits.find(c => c.filePath === `${path}/${entry.name}` && c.type === entry.type);
|
||||
|
||||
if (commit) {
|
||||
resolve(commit);
|
||||
|
|
@ -35,13 +35,13 @@ export function fetchLogsTree(client, path, offset, resolver = null) {
|
|||
.then(({ data, headers }) => {
|
||||
const headerLogsOffset = headers['more-logs-offset'];
|
||||
const { commits } = client.readQuery({ query: getCommits });
|
||||
const newCommitData = [...commits, ...normalizeData(data)];
|
||||
const newCommitData = [...commits, ...normalizeData(data, path)];
|
||||
client.writeQuery({
|
||||
query: getCommits,
|
||||
data: { commits: newCommitData },
|
||||
});
|
||||
|
||||
resolvers.forEach(r => resolveCommit(newCommitData, r));
|
||||
resolvers.forEach(r => resolveCommit(newCommitData, path, r));
|
||||
|
||||
fetchpromise = null;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
// eslint-disable-next-line import/prefer-default-export
|
||||
export function normalizeData(data, extra = () => {}) {
|
||||
export function normalizeData(data, path, extra = () => {}) {
|
||||
return data.map(d => ({
|
||||
sha: d.commit.id,
|
||||
message: d.commit.message,
|
||||
committedDate: d.commit.committed_date,
|
||||
commitPath: d.commit_path,
|
||||
fileName: d.file_name,
|
||||
filePath: `${path}/${d.file_name}`,
|
||||
type: d.type,
|
||||
__typename: 'LogTreeCommit',
|
||||
...extra(d),
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Types
|
||||
# rubocop: disable Graphql/AuthorizeTypes
|
||||
class IssuableSortEnum < SortEnum
|
||||
graphql_name 'IssuableSort'
|
||||
description 'Values for sorting issuables'
|
||||
end
|
||||
# rubocop: enable Graphql/AuthorizeTypes
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Types
|
||||
# rubocop: disable Graphql/AuthorizeTypes
|
||||
class IssueSortEnum < IssuableSortEnum
|
||||
graphql_name 'IssueSort'
|
||||
description 'Values for sorting issues'
|
||||
|
|
@ -10,7 +9,6 @@ module Types
|
|||
value 'DUE_DATE_DESC', 'Due date by descending order', value: 'due_date_desc'
|
||||
value 'RELATIVE_POSITION_ASC', 'Relative position by ascending order', value: 'relative_position_asc'
|
||||
end
|
||||
# rubocop: enable Graphql/AuthorizeTypes
|
||||
end
|
||||
|
||||
Types::IssueSortEnum.prepend_if_ee('::EE::Types::IssueSortEnum')
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Types
|
||||
# rubocop: disable Graphql/AuthorizeTypes
|
||||
# This is a BaseEnum through IssuableEnum, so it does not need authorization
|
||||
class IssueStateEnum < IssuableStateEnum
|
||||
graphql_name 'IssueState'
|
||||
description 'State of a GitLab issue'
|
||||
end
|
||||
# rubocop: enable Graphql/AuthorizeTypes
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Types
|
||||
# rubocop: disable Graphql/AuthorizeTypes
|
||||
# This is a BaseEnum through IssuableEnum, so it does not need authorization
|
||||
class MergeRequestStateEnum < IssuableStateEnum
|
||||
graphql_name 'MergeRequestState'
|
||||
description 'State of a GitLab merge request'
|
||||
|
||||
value 'merged'
|
||||
end
|
||||
# rubocop: enable Graphql/AuthorizeTypes
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module GitHelper
|
||||
def strip_gpg_signature(text)
|
||||
def strip_signature(text)
|
||||
text.gsub(/-----BEGIN PGP SIGNATURE-----(.*)-----END PGP SIGNATURE-----/m, "")
|
||||
text.gsub(/-----BEGIN PGP MESSAGE-----(.*)-----END PGP MESSAGE-----/m, "")
|
||||
text.gsub(/-----BEGIN SIGNED MESSAGE-----(.*)-----END SIGNED MESSAGE-----/m, "")
|
||||
end
|
||||
|
||||
def short_sha(text)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ if commit
|
|||
xml.id tag_url
|
||||
xml.link href: tag_url
|
||||
xml.title truncate(tag.name, length: 80)
|
||||
xml.summary strip_gpg_signature(tag.message)
|
||||
xml.summary strip_signature(tag.message)
|
||||
xml.content markdown_field(release, :description), type: 'html'
|
||||
xml.updated release.updated_at.xmlschema if release
|
||||
xml.media :thumbnail, width: '40', height: '40', url: image_url(avatar_icon_for_email(commit.author_email))
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
- if tag.message.present?
|
||||
|
||||
= strip_gpg_signature(tag.message)
|
||||
= strip_signature(tag.message)
|
||||
|
||||
- if commit
|
||||
.block-truncated
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
- user = user_email = nil
|
||||
- if @tag.tagger
|
||||
- user_email = @tag.tagger.email
|
||||
- user = User.find_by_any_email(user_email)
|
||||
- add_to_breadcrumbs s_('TagsPage|Tags'), project_tags_path(@project)
|
||||
- breadcrumb_title @tag.name
|
||||
- page_title @tag.name, s_('TagsPage|Tags')
|
||||
|
|
@ -11,6 +15,24 @@
|
|||
- if protected_tag?(@project, @tag)
|
||||
%span.badge.badge-success
|
||||
= s_('TagsPage|protected')
|
||||
|
||||
- if user
|
||||
= link_to user_path(user) do
|
||||
%div
|
||||
= user_avatar_without_link(user: user, size: 32, css_class: "mt-1 mb-1")
|
||||
|
||||
%div
|
||||
%strong= user.name
|
||||
%div= user.to_reference
|
||||
|
||||
- elsif user_email
|
||||
= mail_to user_email do
|
||||
%div
|
||||
= user_avatar_without_link(user_email: user_email, size: 32, css_class: "mt-1 mb-1")
|
||||
|
||||
%div{ :class => "clearfix" }
|
||||
%strong= user_email
|
||||
|
||||
- if @commit
|
||||
= render 'projects/branches/commit', commit: @commit, project: @project
|
||||
- else
|
||||
|
|
@ -33,7 +55,7 @@
|
|||
|
||||
- if @tag.message.present?
|
||||
%pre.wrap
|
||||
= strip_gpg_signature(@tag.message)
|
||||
= strip_signature(@tag.message)
|
||||
|
||||
.append-bottom-default.prepend-top-default
|
||||
- if @release.description.present?
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Add possibility to save max issue weight on lists
|
||||
merge_request: 19220
|
||||
author:
|
||||
type: added
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Removed all references of BoardService
|
||||
merge_request: 20144
|
||||
author: nuwe1
|
||||
type: other
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: add tagger within tag view
|
||||
merge_request: 19681
|
||||
author: Roger Meier
|
||||
type: added
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Upgrade to Gitaly v1.74.0
|
||||
merge_request: 20706
|
||||
author:
|
||||
type: changed
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix dropdown location on the monitoring charts
|
||||
merge_request: 20400
|
||||
author:
|
||||
type: fixed
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddMaxIssueWeightToList < ActiveRecord::Migration[5.2]
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
DOWNTIME = false
|
||||
|
||||
def up
|
||||
add_column_with_default :lists, :max_issue_weight, :integer, default: 0
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :lists, :max_issue_weight
|
||||
end
|
||||
end
|
||||
|
|
@ -2251,6 +2251,7 @@ ActiveRecord::Schema.define(version: 2019_11_19_023952) do
|
|||
t.integer "user_id"
|
||||
t.integer "milestone_id"
|
||||
t.integer "max_issue_count", default: 0, null: false
|
||||
t.integer "max_issue_weight", default: 0, null: false
|
||||
t.index ["board_id", "label_id"], name: "index_lists_on_board_id_and_label_id", unique: true
|
||||
t.index ["label_id"], name: "index_lists_on_label_id"
|
||||
t.index ["list_type"], name: "index_lists_on_list_type"
|
||||
|
|
|
|||
|
|
@ -49,7 +49,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 2,
|
||||
|
|
@ -59,7 +60,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 2,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 3,
|
||||
|
|
@ -69,7 +71,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 3,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -121,7 +124,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 2,
|
||||
|
|
@ -131,7 +135,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 2,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 3,
|
||||
|
|
@ -141,7 +146,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 3,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -192,7 +198,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 2,
|
||||
|
|
@ -202,7 +209,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 2,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 3,
|
||||
|
|
@ -212,7 +220,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 3,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -346,7 +355,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 2,
|
||||
|
|
@ -356,7 +366,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 2,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
},
|
||||
{
|
||||
"id" : 3,
|
||||
|
|
@ -366,7 +377,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 3,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
]
|
||||
```
|
||||
|
|
@ -400,7 +412,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -441,7 +454,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -475,7 +489,8 @@ Example response:
|
|||
"description" : null
|
||||
},
|
||||
"position" : 1,
|
||||
"max_issue_count": 0
|
||||
"max_issue_count": 0,
|
||||
"max_issue_weight": 0
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -181,6 +181,10 @@ vulnerabilities must be either empty or containing:
|
|||
Maintainers should **never** dismiss vulnerabilities to "empty" the list,
|
||||
without duly verifying them.
|
||||
|
||||
Note that certain Merge Requests may target a stable branch. These are rare
|
||||
events. These types of Merge Requests cannot be merged by the Maintainer.
|
||||
Instead these should be sent to the [Release Manager](https://about.gitlab.com/community/release-managers/).
|
||||
|
||||
## Best practices
|
||||
|
||||
### Everyone
|
||||
|
|
|
|||
|
|
@ -191,8 +191,8 @@ subgraph "`review-prepare` stage"
|
|||
end
|
||||
|
||||
subgraph "`review` stage"
|
||||
G --> |needs| E;
|
||||
G2 --> |needs| E;
|
||||
G
|
||||
G2
|
||||
end
|
||||
|
||||
subgraph "`qa` stage"
|
||||
|
|
|
|||
|
|
@ -129,6 +129,10 @@ two node pools:
|
|||
|
||||
### Helm/Tiller
|
||||
|
||||
The Helm/Tiller version used is defined in the
|
||||
[`registry.gitlab.com/gitlab-org/gitlab-build-images:gitlab-charts-build-base` image](https://gitlab.com/gitlab-org/gitlab-build-images/blob/master/Dockerfile.gitlab-charts-build-base#L4)
|
||||
used by the `review-deploy` and `review-stop` jobs.
|
||||
|
||||
The `tiller` deployment (the Helm server) is deployed to a dedicated node pool
|
||||
that has the `app=helm` label and a specific
|
||||
[taint](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/)
|
||||
|
|
|
|||
|
|
@ -62,6 +62,10 @@ module Gitlab
|
|||
encode! @message
|
||||
end
|
||||
|
||||
def tagger
|
||||
@raw_tag.tagger
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def message_from_gitaly_tag
|
||||
|
|
|
|||
|
|
@ -137,14 +137,7 @@ module Gitlab
|
|||
def ordering_from_encoded_json(cursor)
|
||||
JSON.parse(decode(cursor))
|
||||
rescue JSON::ParserError
|
||||
# for the transition period where a client might request using an
|
||||
# old style cursor. Once removed, make it an error:
|
||||
# raise Gitlab::Graphql::Errors::ArgumentError, "Please provide a valid cursor"
|
||||
# TODO can be removed in next release
|
||||
# https://gitlab.com/gitlab-org/gitlab/issues/32933
|
||||
field_name = order_list.first.attribute_name
|
||||
|
||||
{ field_name => decode(cursor) }
|
||||
raise Gitlab::Graphql::Errors::ArgumentError, "Please provide a valid cursor"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -65,16 +65,8 @@
|
|||
"cropper": "^2.3.0",
|
||||
"css-loader": "^1.0.0",
|
||||
"d3": "^4.13.0",
|
||||
"d3-array": "^1.2.1",
|
||||
"d3-axis": "^1.0.8",
|
||||
"d3-brush": "^1.0.4",
|
||||
"d3-ease": "^1.0.3",
|
||||
"d3-scale": "^1.0.7",
|
||||
"d3-selection": "^1.2.0",
|
||||
"d3-shape": "^1.2.0",
|
||||
"d3-time": "^1.0.8",
|
||||
"d3-time-format": "^2.1.1",
|
||||
"d3-transition": "^1.1.1",
|
||||
"dateformat": "^3.0.3",
|
||||
"deckar01-task_list": "^2.2.1",
|
||||
"diff": "^3.4.0",
|
||||
|
|
|
|||
|
|
@ -34,7 +34,10 @@ module RuboCop
|
|||
end
|
||||
|
||||
def whitelisted?(class_node)
|
||||
return false unless class_node&.const_name
|
||||
class_const = class_node&.const_name
|
||||
|
||||
return false unless class_const
|
||||
return true if class_const.end_with?('Enum')
|
||||
|
||||
WHITELISTED_TYPES.any? { |whitelisted| class_node.const_name.include?(whitelisted) }
|
||||
end
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ function install_tiller() {
|
|||
--tiller-namespace "${namespace}" \
|
||||
--wait \
|
||||
--upgrade \
|
||||
--force-upgrade \
|
||||
--node-selectors "app=helm" \
|
||||
--replicas 3 \
|
||||
--override "spec.template.spec.tolerations[0].key"="dedicated" \
|
||||
|
|
@ -214,6 +215,21 @@ function create_application_secret() {
|
|||
--dry-run -o json | kubectl apply -f -
|
||||
}
|
||||
|
||||
function label_application_secret() {
|
||||
local namespace="${KUBE_NAMESPACE}"
|
||||
local release="${CI_ENVIRONMENT_SLUG}"
|
||||
|
||||
echoinfo "Labeling the ${release}-gitlab-initial-root-password and ${release}-gitlab-license secrets in the ${namespace} namespace..." true
|
||||
|
||||
kubectl label secret --namespace "${namespace}" \
|
||||
"${release}-gitlab-initial-root-password" \
|
||||
release="${release}"
|
||||
|
||||
kubectl label secret --namespace "${namespace}" \
|
||||
"${release}-gitlab-license" \
|
||||
release="${release}"
|
||||
}
|
||||
|
||||
function download_chart() {
|
||||
echoinfo "Downloading the GitLab chart..." true
|
||||
|
||||
|
|
@ -254,6 +270,7 @@ function deploy() {
|
|||
gitlab_workhorse_image_repository="${IMAGE_REPOSITORY}/gitlab-workhorse-${edition}"
|
||||
|
||||
create_application_secret
|
||||
label_application_secret
|
||||
|
||||
HELM_CMD=$(cat << EOF
|
||||
helm upgrade \
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ FactoryBot.define do
|
|||
label
|
||||
list_type { :label }
|
||||
max_issue_count { 0 }
|
||||
max_issue_weight { 0 }
|
||||
sequence(:position)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
},
|
||||
"title": { "type": "string" },
|
||||
"position": { "type": ["integer", "null"] },
|
||||
"max_issue_count": { "type": "integer" }
|
||||
"max_issue_count": { "type": "integer" },
|
||||
"max_issue_weight": { "type": "integer" }
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@
|
|||
}
|
||||
},
|
||||
"position": { "type": ["integer", "null"] },
|
||||
"max_issue_count": { "type": "integer" }
|
||||
"max_issue_count": { "type": "integer" },
|
||||
"max_issue_weight": { "type": "integer" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,18 @@ describe('resolveCommit', () => {
|
|||
entry: { name: 'index.js', type: 'blob' },
|
||||
resolve: jest.fn(),
|
||||
};
|
||||
const commits = [{ fileName: 'index.js', type: 'blob' }];
|
||||
const commits = [
|
||||
{ fileName: 'index.js', filePath: '/index.js', type: 'blob' },
|
||||
{ fileName: 'index.js', filePath: '/app/assets/index.js', type: 'blob' },
|
||||
];
|
||||
|
||||
resolveCommit(commits, resolver);
|
||||
resolveCommit(commits, '', resolver);
|
||||
|
||||
expect(resolver.resolve).toHaveBeenCalledWith({ fileName: 'index.js', type: 'blob' });
|
||||
expect(resolver.resolve).toHaveBeenCalledWith({
|
||||
fileName: 'index.js',
|
||||
filePath: '/index.js',
|
||||
type: 'blob',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -84,6 +91,7 @@ describe('fetchLogsTree', () => {
|
|||
commitPath: 'https://test.com',
|
||||
committedDate: '2019-01-01',
|
||||
fileName: 'index.js',
|
||||
filePath: '/index.js',
|
||||
message: 'testing message',
|
||||
sha: '123',
|
||||
type: 'blob',
|
||||
|
|
@ -101,6 +109,7 @@ describe('fetchLogsTree', () => {
|
|||
commitPath: 'https://test.com',
|
||||
committedDate: '2019-01-01',
|
||||
fileName: 'index.js',
|
||||
filePath: '/index.js',
|
||||
message: 'testing message',
|
||||
sha: '123',
|
||||
type: 'blob',
|
||||
|
|
|
|||
|
|
@ -15,13 +15,14 @@ const mockData = [
|
|||
|
||||
describe('normalizeData', () => {
|
||||
it('normalizes data into LogTreeCommit object', () => {
|
||||
expect(normalizeData(mockData)).toEqual([
|
||||
expect(normalizeData(mockData, '')).toEqual([
|
||||
{
|
||||
sha: '123',
|
||||
message: 'testing message',
|
||||
committedDate: '2019-01-01',
|
||||
commitPath: 'https://test.com',
|
||||
fileName: 'index.js',
|
||||
filePath: '/index.js',
|
||||
type: 'blob',
|
||||
__typename: 'LogTreeCommit',
|
||||
},
|
||||
|
|
|
|||
|
|
@ -218,23 +218,11 @@ describe Gitlab::Graphql::Connections::Keyset::Connection do
|
|||
end
|
||||
end
|
||||
|
||||
# TODO Enable this as part of below issue
|
||||
# https://gitlab.com/gitlab-org/gitlab/issues/32933
|
||||
# context 'when an invalid cursor is provided' do
|
||||
# let(:arguments) { { before: 'invalidcursor' } }
|
||||
#
|
||||
# it 'raises an error' do
|
||||
# expect { expect(subject.sliced_nodes) }.to raise_error(Gitlab::Graphql::Errors::ArgumentError)
|
||||
# end
|
||||
# end
|
||||
context 'when an invalid cursor is provided' do
|
||||
let(:arguments) { { before: Base64Bp.urlsafe_encode64('invalidcursor', padding: false) } }
|
||||
|
||||
# TODO Remove this as part of below issue
|
||||
# https://gitlab.com/gitlab-org/gitlab/issues/32933
|
||||
context 'when an old style cursor is provided' do
|
||||
let(:arguments) { { before: Base64Bp.urlsafe_encode64(projects[1].id.to_s, padding: false) } }
|
||||
|
||||
it 'only returns the project before the selected one' do
|
||||
expect(subject.sliced_nodes).to contain_exactly(projects.first)
|
||||
it 'raises an error' do
|
||||
expect { subject.sliced_nodes }.to raise_error(Gitlab::Graphql::Errors::ArgumentError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -728,6 +728,7 @@ List:
|
|||
- milestone_id
|
||||
- user_id
|
||||
- max_issue_count
|
||||
- max_issue_weight
|
||||
ExternalPullRequest:
|
||||
- id
|
||||
- created_at
|
||||
|
|
|
|||
|
|
@ -79,5 +79,15 @@ describe RuboCop::Cop::Graphql::AuthorizeTypes do
|
|||
end
|
||||
TYPE
|
||||
end
|
||||
|
||||
it 'does not add an offense for Enums' do
|
||||
expect_no_offenses(<<~TYPE)
|
||||
module Types
|
||||
class ATypeEnum < AnotherEnum
|
||||
field :a_thing
|
||||
end
|
||||
end
|
||||
TYPE
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
16
yarn.lock
16
yarn.lock
|
|
@ -3213,17 +3213,17 @@ cyclist@~0.2.2:
|
|||
resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
|
||||
integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
|
||||
|
||||
d3-array@1, d3-array@1.2.1, d3-array@^1.1.1, d3-array@^1.2.0, d3-array@^1.2.1:
|
||||
d3-array@1, d3-array@1.2.1, d3-array@^1.1.1, d3-array@^1.2.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc"
|
||||
integrity sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==
|
||||
|
||||
d3-axis@1, d3-axis@1.0.8, d3-axis@^1.0.8:
|
||||
d3-axis@1, d3-axis@1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa"
|
||||
integrity sha1-MacFoLU15ldZ3hQXOjGTMTfxjvo=
|
||||
|
||||
d3-brush@1, d3-brush@1.0.4, d3-brush@^1.0.4:
|
||||
d3-brush@1, d3-brush@1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4"
|
||||
integrity sha1-AMLyOAGfJPbAoZSibUGhUw/+e8Q=
|
||||
|
|
@ -3281,7 +3281,7 @@ d3-dsv@1, d3-dsv@1.0.8:
|
|||
iconv-lite "0.4"
|
||||
rw "1"
|
||||
|
||||
d3-ease@1, d3-ease@1.0.3, d3-ease@^1.0.3:
|
||||
d3-ease@1, d3-ease@1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e"
|
||||
integrity sha1-aL+8NJM4o4DETYrMT7wzBKotjA4=
|
||||
|
|
@ -3400,21 +3400,21 @@ d3-selection@1, d3-selection@1.3.0, d3-selection@^1.1.0, d3-selection@^1.2.0:
|
|||
resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.0.tgz#d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d"
|
||||
integrity sha512-qgpUOg9tl5CirdqESUAu0t9MU/t3O9klYfGfyKsXEmhyxyzLpzpeh08gaxBUTQw1uXIOkr/30Ut2YRjSSxlmHA==
|
||||
|
||||
d3-shape@1, d3-shape@1.2.0, d3-shape@^1.2.0:
|
||||
d3-shape@1, d3-shape@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777"
|
||||
integrity sha1-RdAVOPBkuv0F6j1tLLdI/YxB93c=
|
||||
dependencies:
|
||||
d3-path "1"
|
||||
|
||||
d3-time-format@2, d3-time-format@2.1.1, d3-time-format@^2.1.1:
|
||||
d3-time-format@2, d3-time-format@2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31"
|
||||
integrity sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw==
|
||||
dependencies:
|
||||
d3-time "1"
|
||||
|
||||
d3-time@1, d3-time@1.0.8, d3-time@^1.0.8:
|
||||
d3-time@1, d3-time@1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84"
|
||||
integrity sha512-YRZkNhphZh3KcnBfitvF3c6E0JOFGikHZ4YqD+Lzv83ZHn1/u6yGenRU1m+KAk9J1GnZMnKcrtfvSktlA1DXNQ==
|
||||
|
|
@ -3424,7 +3424,7 @@ d3-timer@1, d3-timer@1.0.7:
|
|||
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531"
|
||||
integrity sha512-vMZXR88XujmG/L5oB96NNKH5lCWwiLM/S2HyyAQLcjWJCloK5shxta4CwOFYLZoY3AWX73v8Lgv4cCAdWtRmOA==
|
||||
|
||||
d3-transition@1, d3-transition@1.1.1, d3-transition@^1.1.1:
|
||||
d3-transition@1, d3-transition@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039"
|
||||
integrity sha512-xeg8oggyQ+y5eb4J13iDgKIjUcEfIOZs2BqV/eEmXm2twx80wTzJ4tB4vaZ5BKfz7XsI/DFmQL5me6O27/5ykQ==
|
||||
|
|
|
|||
Loading…
Reference in New Issue