diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-10 06:10:56 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-02-10 06:10:56 +0000 |
commit | 36ff95a8a93225f47a833989429cc766a6ff2661 (patch) | |
tree | 2101cffff43469c06d846fcd1ed6a58acd06f735 | |
parent | 677227413ae31f5a02fd4c8e10f6ef50c228334f (diff) | |
download | gitlab-ce-36ff95a8a93225f47a833989429cc766a6ff2661.tar.gz |
Add latest changes from gitlab-org/gitlab@master
-rw-r--r-- | .gitlab-ci.yml | 3 | ||||
-rw-r--r-- | app/assets/javascripts/boards/components/boards_selector.vue | 4 | ||||
-rw-r--r-- | app/services/users/build_service.rb | 1 | ||||
-rw-r--r-- | data/deprecations/15-9-required-pipeline-configuration.yml | 28 | ||||
-rw-r--r-- | doc/api/users.md | 8 | ||||
-rw-r--r-- | doc/update/deprecations.md | 16 | ||||
-rw-r--r-- | lib/api/entities/user.rb | 2 | ||||
-rw-r--r-- | lib/api/users.rb | 1 | ||||
-rw-r--r-- | spec/frontend/boards/components/boards_selector_spec.js | 32 | ||||
-rw-r--r-- | spec/lib/api/entities/user_spec.rb | 2 |
10 files changed, 95 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0a30af70364..9972d0f166b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -193,6 +193,9 @@ variables: # See https://gitlab.com/gitlab-com/gl-security/engineering-and-research/inventory/-/issues/827#note_1203181407 DISABLE_OPENCOLLECTIVE: "true" + # This is set at the gitlab-org level, but we set it here for forks + DANGER_DO_NOT_POST_INVALID_DANGERFILE_ERROR: "1" + include: - local: .gitlab/ci/*.gitlab-ci.yml - remote: 'https://gitlab.com/gitlab-org/frontend/untamper-my-lockfile/-/raw/main/templates/merge_request_pipelines.yml' diff --git a/app/assets/javascripts/boards/components/boards_selector.vue b/app/assets/javascripts/boards/components/boards_selector.vue index 33a82ab3827..2f521363c16 100644 --- a/app/assets/javascripts/boards/components/boards_selector.vue +++ b/app/assets/javascripts/boards/components/boards_selector.vue @@ -103,6 +103,9 @@ export default { showDelete() { return this.boards.length > 1; }, + showDropdown() { + return this.showCreate || this.hasMissingBoards; + }, scrollFadeClass() { return { 'fade-out': !this.hasScrollFade, @@ -244,6 +247,7 @@ export default { <div class="boards-switcher gl-mr-3" data-testid="boards-selector"> <span class="boards-selector-wrapper"> <gl-dropdown + v-if="showDropdown" data-testid="boards-dropdown" data-qa-selector="boards_dropdown" toggle-class="dropdown-menu-toggle" diff --git a/app/services/users/build_service.rb b/app/services/users/build_service.rb index ad2ade19f2b..934dccf2f76 100644 --- a/app/services/users/build_service.rb +++ b/app/services/users/build_service.rb @@ -163,6 +163,7 @@ module Users :skype, :theme_id, :twitter, + :discord, :username, :website_url, :private_profile, diff --git a/data/deprecations/15-9-required-pipeline-configuration.yml b/data/deprecations/15-9-required-pipeline-configuration.yml new file mode 100644 index 00000000000..625d00cb07e --- /dev/null +++ b/data/deprecations/15-9-required-pipeline-configuration.yml @@ -0,0 +1,28 @@ +# +# REQUIRED FIELDS +# +- title: "Required Pipeline Configuration is deprecated" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters." + announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated. + removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed + breaking_change: true # (required) Change to false if this is not a breaking change. + reporter: jheimbuck_gl # (required) GitLab username of the person reporting the change + stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth + issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389467 # (required) Link to the deprecation issue in GitLab + body: | # (required) Do not modify this line, instead modify the lines below. + Required Pipeline Configuration will be removed in the 16.0 release. This impacts Self-Managed users on the Ultimate license. + + We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#configure-a-compliance-pipeline) that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels. +# +# OPTIONAL END OF SUPPORT FIELDS +# +# If an End of Support period applies, the announcement should be shared with GitLab Support +# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR. +# + end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end. + # + # OTHER OPTIONAL FIELDS + # + tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate] + documentation_url: https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html#required-pipeline-configuration # (optional) This is a link to the current documentation page + image_url: # (optional) This is a link to a thumbnail image depicting the feature + video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg diff --git a/doc/api/users.md b/doc/api/users.md index d6a4604cf51..4ecb3d48c0f 100644 --- a/doc/api/users.md +++ b/doc/api/users.md @@ -142,6 +142,7 @@ GET /users "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "", @@ -183,6 +184,7 @@ GET /users "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "", @@ -319,6 +321,7 @@ Parameters: "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "Operations Specialist", @@ -365,6 +368,7 @@ Example Responses: "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "Operations Specialist", @@ -508,6 +512,7 @@ Parameters: | `skype` | No | Skype ID | | `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#navigation-theme) for more information) | | `twitter` | No | Twitter account | +| `discord` | No | Discord account | | `username` | Yes | Username | | `view_diffs_file_by_file` | No | Flag indicating the user sees only one file diff per page | | `website_url` | No | Website URL | @@ -558,6 +563,7 @@ Parameters: | `skype` | No | Skype ID | | `theme_id` | No | GitLab theme for the user (for more information, see the [user preference documentation](../user/profile/preferences.md#navigation-theme) for more information) | | `twitter` | No | Twitter account | +| `discord` | No | Discord account | | `username` | No | Username | | `view_diffs_file_by_file` | No | Flag indicating the user sees only one file diff per page | | `website_url` | No | Website URL | @@ -626,6 +632,7 @@ GET /user "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "", @@ -690,6 +697,7 @@ Parameters: "skype": "", "linkedin": "", "twitter": "", + "discord": "", "website_url": "", "organization": "", "job_title": "", diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md index d7369089103..2329649c25c 100644 --- a/doc/update/deprecations.md +++ b/doc/update/deprecations.md @@ -191,6 +191,22 @@ The option to delete projects immediately by default was deprecated to prevent u <div class="deprecation removal-160 breaking-change"> +### Required Pipeline Configuration is deprecated + +Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> + +WARNING: +This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/). +Review the details carefully before upgrading. + +Required Pipeline Configuration will be removed in the 16.0 release. This impacts Self-Managed users on the Ultimate license. + +We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#configure-a-compliance-pipeline) that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels. + +</div> + +<div class="deprecation removal-160 breaking-change"> + ### Support for Praefect custom metrics endpoint configuration Planned removal: GitLab <span class="removal-milestone">16.0</span> <span class="removal-date"></span> diff --git a/lib/api/entities/user.rb b/lib/api/entities/user.rb index a86039b856a..884f0f75d7a 100644 --- a/lib/api/entities/user.rb +++ b/lib/api/entities/user.rb @@ -7,7 +7,7 @@ module API include TimeZoneHelper expose :created_at, if: ->(user, opts) { Ability.allowed?(opts[:current_user], :read_user_profile, user) } - expose :bio, :location, :public_email, :skype, :linkedin, :twitter, :website_url, :organization, :job_title, :pronouns + expose :bio, :location, :public_email, :skype, :linkedin, :twitter, :discord, :website_url, :organization, :job_title, :pronouns expose :bot?, as: :bot expose :work_information do |user| work_information(user) diff --git a/lib/api/users.rb b/lib/api/users.rb index 6e9dc22cf86..cc7eb63798a 100644 --- a/lib/api/users.rb +++ b/lib/api/users.rb @@ -46,6 +46,7 @@ module API optional :skype, type: String, desc: 'The Skype username' optional :linkedin, type: String, desc: 'The LinkedIn username' optional :twitter, type: String, desc: 'The Twitter username' + optional :discord, type: String, desc: 'The Discord user ID' optional :website_url, type: String, desc: 'The website of the user' optional :organization, type: String, desc: 'The organization of the user' optional :projects_limit, type: Integer, desc: 'The number of projects a user can create' diff --git a/spec/frontend/boards/components/boards_selector_spec.js b/spec/frontend/boards/components/boards_selector_spec.js index dfd8d2351a6..28f51e0ecbf 100644 --- a/spec/frontend/boards/components/boards_selector_spec.js +++ b/spec/frontend/boards/components/boards_selector_spec.js @@ -82,6 +82,7 @@ describe('BoardsSelector', () => { projectRecentBoardsQueryHandler = projectRecentBoardsQueryHandlerSuccess, isGroupBoard = false, isProjectBoard = false, + provide = {}, } = {}) => { fakeApollo = createMockApollo([ [projectBoardsQuery, projectBoardsQueryHandler], @@ -109,6 +110,7 @@ describe('BoardsSelector', () => { isGroupBoard, isProjectBoard, isApolloBoard: false, + ...provide, }, }); }; @@ -246,4 +248,34 @@ describe('BoardsSelector', () => { expect(notCalledHandler).not.toHaveBeenCalled(); }); }); + + describe('dropdown visibility', () => { + describe('when multipleIssueBoardsAvailable is enabled', () => { + it('show dropdown', async () => { + createStore(); + createComponent({ provide: { multipleIssueBoardsAvailable: true } }); + expect(findDropdown().exists()).toBe(true); + }); + }); + + describe('when multipleIssueBoardsAvailable is disabled but it hasMissingBoards', () => { + it('show dropdown', async () => { + createStore(); + createComponent({ + provide: { multipleIssueBoardsAvailable: false, hasMissingBoards: true }, + }); + expect(findDropdown().exists()).toBe(true); + }); + }); + + describe("when multipleIssueBoardsAvailable is disabled and it dosn't hasMissingBoards", () => { + it('hide dropdown', async () => { + createStore(); + createComponent({ + provide: { multipleIssueBoardsAvailable: false, hasMissingBoards: false }, + }); + expect(findDropdown().exists()).toBe(false); + }); + }); + }); }); diff --git a/spec/lib/api/entities/user_spec.rb b/spec/lib/api/entities/user_spec.rb index 407f2894f01..3094fc748c9 100644 --- a/spec/lib/api/entities/user_spec.rb +++ b/spec/lib/api/entities/user_spec.rb @@ -18,7 +18,7 @@ RSpec.describe API::Entities::User do # UserBasic :state, :avatar_url, :web_url, # User - :created_at, :bio, :location, :public_email, :skype, :linkedin, :twitter, + :created_at, :bio, :location, :public_email, :skype, :linkedin, :twitter, :discord, :website_url, :organization, :job_title, :pronouns, :bot, :work_information, :followers, :following, :is_followed, :local_time ) |