Commit b1bcdba8 authored by GitLab Bot's avatar GitLab Bot

Add latest changes from gitlab-org/gitlab@master

parent 30dc5b50
......@@ -2,325 +2,6 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
## 12.4.0
### Security (14 changes)
- HTML-escape search term in empty message. !18319
- Fix private feature Elasticsearch leak.
- Prevent bypassing email verification using Salesforce.
- Fix new project path being disclosed through unsubscribe link of issue/merge requests.
- Do not show resource label events referencing not accessible labels.
- Check permissions before showing head pipeline blocking merge requests.
- Cancel all running CI jobs triggered by the user who is just blocked.
- Do not disclose project milestones on group milestones page when project milestones access is disabled in project settings.
- Display only participants that user has permission to see on milestone page.
- Fix Gitaly SearchBlobs flag RPC injection.
- Add a policy check for system notes that may not be visible due to cross references to private items.
- Limit search for IID to a type to avoid leaking records with the same IID that the user does not have access to.
- Prevent GitLab accounts takeover if SAML is configured.
- Only render fixed number of mermaid blocks.
### Fixed (103 changes, 12 of them are from the community)
- When user toggles task list item, keep details open until user closes the details manually. !16153
- Fix formatting welcome screen external users. !16667
- Fix signup link in admin area not being disabled. !16726 (Illya Klymov)
- Fix routing bugs in security dashboards. !16738
- Fix Jira integration favicon image with relative URL. !16802
- Add timeout mechanism for CI config validation. !16807
- Fix for count in todo badge when user has over 1,000 todos. Will now correctly display todo count after user marks some todos as done. !16844 (Jesse Hall @jessehall3)
- Naming a project "shared" will no longer automatically open the "Shared Projects" tab. !16847 (Jesse Hall @jessehall3)
- Adds the ability to delete single tags from the docker registry. Fix the issue that caused all related tags and image to be deleted at the same time. !16886
- Changed confidential quick action to only be available on non confidential issues. !16902 (Marc Schwede)
- Stop sidebar icons from jumping when expanded & collapsed. !16971
- Set name and updated_at properly in GitHub ReleaseImporter. !17020
- Remove thin white line at top of diff view code blocks. !17026
- Show correct CI indicator when build succeeded with warnings. !17034
- Create a persistent ref per pipeline for keeping pipelines run from force-push and merged results. !17043
- Move SMAU usage counters to the UsageData count field. !17074
- Allow maintainers to toggle write permission for public deploy keys. !17210
- Fix GraphQL for read-only instances. !17225
- Fix visibility level error when updating group from API. !17227 (Mathieu Parent)
- Fix stylelint errors in epics.scss. !17243
- Fix new discussion replies sometimes showing up twice. !17255
- Adjust unnapliable suggestions in expanded lines. !17286
- Show all groups user belongs to in Notification settings. !17303
- Alphabetically sorts selected sidebar labels. !17309
- Show issue weight when weight is 0. !17329 (briankabiro)
- Generate LFS token authorization for user LFS requests. !17332
- Backfill releases table updated_at column and add not null constraints to created_at and updated_at. !17400
- Log Sidekiq exceptions properly in JSON format. !17412
- Redo fix for related issues border radius. !17480
- Show the original branch name and link of merge request in pipeline emails. !17513
- Fixes issues with the security reports migration. !17519
- Users can view the blame or history of a file with newlines in its filename. !17543 (Jesse Hall @jessehall3)
- Display reCAPTCHA modal when making issue public. !17553
- Fix css selector for details in issue description. !17557
- Prevents a group path change when a project inside the group has container registry images. !17583
- Show 20 labels in dropdown instead of 5. !17596
- Nullify platform Kubernetes namespace if blank. !17657
- Fix Issue: WebIDE asks for confirmation to leave the page when committing and creating a new MR. !17671
- Catch unhandled exceptions in health checks. !17694
- Suppress error messages shown when navigating to a new page. !17706
- Specify sort order explicitly for Group and Project audit events. !17739
- Merge Request: Close JIRA issues when issues are disabled. !17743
- Disable gitlab-workhorse static error page on health endpoints. !17770
- Fix notes race condition when linking to specific note. !17777
- Fix relative positioning when moving items down and there is no space. !17781
- Fix project imports for pipelines for merge requests. !17799
- Increase the limit of includes in CI file to 100. !17807
- Geo: Fix race condition for container synchronization. !17823
- Geo: Invalidate cache after refreshing foreign tables. !17885
- Abort Merge When Pipeline Succeeds when Fast Forward merge is impossible. !17886
- Fix viewing merge reqeust from a fork that's being deleted. !17894
- Fix empty security dashboard for public projects. !17915
- Fix inline rendering of videos for uploads with uppercase file extensions. !17924
- Hide redundant labels in issue boards. !17937
- Time window filter in monitor dashboard gets reset. !17972
- Use cache_method_asymmetrically with Repository#has_visible_content?. !17975
- Allow users to compare Git revisions on a read-only instance. !18038
- Enable Google API retries for uploads. !18040
- Fix bug with new wiki not being indexed. !18051
- Stops the expand button in reports from expanding. !18064
- Make sure project insights stick on its own. !18082
- Embed metrics time window scroll no longer affects other embeds. !18109
- Fix broken notes avatar rendering in Chrome 77. !18110
- Ignore incoming emails with X-Autoreply header. !18118
- Enable grid, frame and stripes styling on AsciiDoc tables. !18165 (Guillaume Grossetie)
- Add backend support for selecting custom templates by ID. !18178
- Fix notifications for private group mentions in Notes, Issues, and Merge Requests. !18183
- Do not strip forwarded message body when creating an issue from Service Desk email. !18196
- Fix protected branch detection used by notification service. !18221
- Fix error where helper was incorrectly returning `true`. !18231
- Adjust placeholder to solve misleading regex. !18235
- Fix Flaky spec/finders/members_finder_spec.rb:85. !18257 (Jacopo Beschi @jacopo-beschi)
- Fix 500 error on clicking to LetsEncrypt Terms of Service. !18263
- Fix error tracking table layout on small screens. !18325
- GitHub import: Handle nil published_at dates. !18355
- Do not allow deactivated users to use slash commands. !18365
- Fix creating epics with dates from api. !18393
- JIRA Service: Improve username/email validation. !18397
- Stopped CRD apply retrying from allowing silent failures. !18421
- Fix erroneous "No activities found" message. !18434
- Support ES searches for project snippets. !18459
- Fix styling of set status emoji picker. !18509
- Fix showing diff when it has legacy diff notes. !18510
- JIRA Integration API URL works having a trailing slash. !18526
- Fixes embedded metrics chart tooltip spacing. !18543
- Bump GITLAB_ELASTICSEARCH_INDEXER_VERSION=v1.4.0. !18558
- Fix pod logs failure when pod contains more than 1 container. !18574
- Prevent the slash command parser from removing leading whitespace from content that is unrelated to slash commands. !18589 (Jared Deckard)
- Fix inability to set snippet visibility via API. !18612
- Fix Web IDE tree not updating modified status. !18647
- Fix button link foreground color. !18669
- Resolve missing design system notes icons. !18693
- Remove duplicate primary button in dashboard snippets. !32048 (George Tsiolis)
- Allow to view productivity analytics page without a license. !33876
- Fix container registry delete tag modal title and button. !34032
- Fixes variables overflowing in sm screens.
- Update top nav bar to fit all content in at all screen sizes.
- Fix permissions for group milestones.
- Removes Collapsible Sections from Job Log.
- Fixes job overflow in stages dropdown.
- Fix moved help URL for monitoring performance.
- Fix issue with wiki TOC links being treated as external links. (Oren Kanner)
- Show error message when setting an invalid group ID for the performance bar.
### Deprecated (1 change)
- Removing cleanup:repo, cleanup:dirs. !18087
### Changed (51 changes, 3 of them are from the community)
- Links on Releases page to commits and tags. !16128
- Add status to deployments and state to environments in API responses. !16242
- Use search scope label in empty results message. !16324
- Add step 2 of the experimental signup flow. !16583
- Add property to enable metrics dashboards to be rearranged. !16605
- Allow intra-project MR dependencies. !16799
- Use scope param instead of hide_dismissed. !16834
- Add empty state in file search. !16851
- Warn before applying issue templates. !16865
- MR Test Summary now shows errors as failures. !17039
- Add support for the association of multiple milestones to the Releases page. !17091
- Display if an issue was moved in issue list. !17102
- Improve UI for admin/projects and group/settings/projects pages. !17247
- Update registry tag delete popup message. !17257
- Show the "Set up CI/CD" prompt in empty repositories when applicable. !17274 (Ben McCormick)
- Knative version bump 0.6 -> 0.7. !17367 (Chris Baumbauer)
- Fix usability problems with the file template picker. !17522
- Make commit status created for any pipelines. !17524 (Aufar Gilbran)
- Add warnings to performance bar when page shows signs of poor performance. !17612
- Banners should only be dismissable by clicking x button. !17642
- Changes response body of liveness check to be more accurate. !17655
- Enable Request Access functionality by default for new projects and groups. !17662
- Add more attributes to issues GraphQL endpoint. !17802
- Improve admin/system_info page ui. !17829
- Adds management project for a cluster. !17866
- Upgrade gitlab-workhorse to 8.12.0. !17892
- Geo: Fix instruction from rake geo:gitlab:check. !17895
- Upgrade to Gitaly v1.66.0. !17900
- Do not start mirroring via API when paused. !17930
- Use MR links in PipelinePresenter#ref_text for branch pipelines. !17947
- Avoid knative and prometheus uninstall race condition. !18020
- Deprecate usage of state column for issues and merge requests. !18099
- Add missing page title to projects/container-registry. !18114
- Port over EE pipeline functionality to CE. !18136
- Aggregate push events when there are too many. !18239
- Cleanup background migrations for any approval rules. !18256
- Container registry tag(s) delete button pluralization. !18260
- Create clusters with VPC-Native enabled. !18284
- Update cluster link text. !18322
- Upgrade to Gitaly v1.67.0. !18326
- Improve UI of documentation under /help. !18331
- Cross-link unreplicated Geo types to issues. !18443
- Make designs read-only if the issue has been moved, or if its discussion has been locked. !18551
- Do not show new issue button on archived projects. !18590
- Increase group avatar size to 40px. !18654
- Sort vulnerabilities by severity then confidence for dashboard and pipeline views. !18675
- Add timeouts for each RPC call. !31766
- Add more specific message to clarify the role of empty images in container registry. !32919
- Embed Jaeger in Gitlab UI.
- Use text instead of icon for recent searches dropdown.
- Export liveness and readiness probes.
### Performance (25 changes, 1 of them is from the community)
- Limit diverging commit counts requests. !16737
- Use GetBlobs RPC for uri type. !16824
- Reduce Gitaly calls when viewing a commit. !17095
- Limit snippets search count. !17585
- Narrow snippet search scope in GitLab.com. !17625
- Handle wiki and graphql attachments in gitlab-workhorse. !17690
- Reduce lock contention of deployment creation by allocating IID outside of the pipeline transaction. !17696
- Update PumaWorkerKiller defaults. !17758
- Add trigram index on snippet content. !17806
- Fix Gitaly N+1 queries in related merge requests API. !17850
- Don't execute webhooks/services when above limit. !17874
- Only schedule updating push-mirrors once per push. !17902
- Show only personal snippets on explore page. !18092
- Priority bump authorized_projects sidekiq queue. !18125
- Avoid dumping files on disk when direct_upload is enabled. !18135
- Check if mapping is empty before caching in File Collections. !18290 (briankabiro)
- Avoid unnecessary locks on internal_ids. !18328
- Fix N+1 queries in Jira Development Panel API endpoint. !18329
- Optimize SQL requests for BlameController and CommitsController. !18342
- Remove N+1 for fetching commits signatures. !18389
- Reduce idle in transaction time when updating a merge request. !18493
- Use cascading deletes for deleting logs upon deleting a webhook. !18642
- Replace index on ci_triggers. !18652
- Hide license breakdown in /admin if user count is high. !18825
- Cache branch and tag names as Redis sets. !30476
### Added (78 changes, 12 of them are from the community)
- Adds sorting of packages at the project level. !15448
- Add projects.only option to Insights. !15930
- Add kubernetes section to group runner settings. !16338
- Enable Cloud Run on GKE cluster creation. !16566
- Add file matching rule to flexible CI rules. !16574
- Enable preview of private artifacts. !16675 (Tuomo Ala-Vannesluoma)
- Upgrade Gitaly to v1.64. !16788
- Render xml artifact files in GitLab. !16790
- Add GitHub & Gitea importers project filtering. !16823
- Add project filtering to Bitbucket Cloud import. !16828
- Provides internationalization support to chart legends. !16832
- Expose name property in imports API. !16848
- Add allowFilter and allowAnySHA1InWant for partial clones. !16850
- [ObjectStorage] Allow migrating back to local storage. !16868
- Require admins to enter admin-mode by re-authenticating before performing administrative operations. !16981 (Roger Rüttimann & Diego Louzán)
- Deactivate a user (with self-service reactivation). !17037
- Add database tables to store AWS roles and cluster providers. !17057
- Collect docker registry related metrics. !17063
- Allow releases to be targeted by URL anchor links on the Releases page. !17150
- Add project_pages_metadata DB table. !17197
- Add index on ci_builds for successful Pages deploys. !17204
- Creation of Evidence collection of new releases. !17217
- API: Add missing group parameters. !17220 (Mathieu Parent)
- Allow to exclude ancestor groups on group labels API. !17221 (Mathieu Parent)
- Added 'copy link' in epic comment dropdown. !17224
- Add columns for per project/group max pages/artifacts sizes. !17231
- Create table for grafana api token for metrics embeds. !17234
- Add proper label REST API for update, delete and promote. !17239 (Mathieu Parent)
- Allow cross-project pipeline triggering with CI_JOB_TOKEN in core. !17251
- Add user_id and created_at columns to design_management_versions table. !17316
- Add pull_mirror_branch_prefix column on projects table. !17368
- Expose web_url for epics on API. !17380
- Improve time window filtering on metrics dashboard. !17554
- Group level Container Registry browser. !17615
- Add API for manually creating and updating deployments. !17620
- Introduce diffs_batch JSON endpoint for paginated diffs. !17651
- Web IDE button should fork and open forked project when selected from read-only project. !17672
- Allow users to be searched with a @ prefix. !17742
- Add individual inherited member lookup API. !17744
- Preserve custom .gitlab-ci.yml config path when forking. !17817 (Mathieu Parent)
- Introduce CI_PROJECT_TITLE as predefined environment variable. !17849 (Nejc Habjan)
- Feature enabling embedded audio elements in markdown. !17860 (Jesse Hall @jessehall3)
- Add 'New release' to the project custom notifications. !17877
- Added timestamps (created_at and updated_at) to API pipelines response. !17911
- Added timestamp (updated_at) to API deployments response. !17913
- Add pipeline preparing status icons. !17923
- Creates Vue and Vuex app to render exposed artifacts. !17934
- Add web_exporter to expose Prometheus metrics. !17943
- Schedule background migration to populate pages metadata. !17993
- Add "Edit Release" page. !18033
- Unpin ingress image version, upgrade chart to 1.22.1. !18047
- Adds sorting of packages at the group level. !18062
- Introduce a lightweight diffs_metadata endpoint. !18104
- Limit the number of comments on an issue, MR, or commit. !18111
- Introduce new Ansi2json parser to convert job logs to JSON. !18133
- Use new Ansi2json job log converter via feature flag. !18134
- Snowplow custom events for Monitor: Health Product Categories. !18157
- Support Create/Read/Destroy operations in Feature Flag API. !18198
- Add two new predefined stages to pipelines. !18205
- Add endpoint to proxy requests to grafana's proxy endpoint. !18210
- Add ability to query todos using GraphQL. !18218
- Include in the callout message a list of jobs that caused missing dependencies failure. !18219
- Adds login input with copy box and supporting copy to empty container registry view. !18244 (nate geslin)
- Add max_artifacts_size fields under project and group settings. !18286
- Provide Merge requests and Issue links through the Release API. !18311
- Adds separate parsers for mentions of users, groups, projects in markdown content. !18318
- Add matching branch info to branch column. !18352
- Users can preview audio files in a repository. !18354 (Jesse Hall @jessehall3)
- Add edit button to release blocks on Releases page. !18411
- Add "Custom HTTP Git clone URL root" setting. !18422
- Add support for epic update through GraphQL API. !18440
- Expose subscribed attribute for epic on API. !18475
- Geo: Enable replicating uploads, LFS objects, and artifacts in Object Storage. !18482
- Show related merge requests in pipeline view. !18697
- Allow users to configure protected paths from Admin panel. !31246
- persist the refs when open the link of refs in a new tab of browser. !31998 (minghuan lei)
- Add first_parent option to list commits api. !32410 (jhenkens)
- Allow users to add and remove zoom rooms on an issue using quick action commands.
### Other (23 changes, 5 of them are from the community)
- Sync issuables state_id with null values. !16480
- Experimental separate sign up flow. !16482
- Upgrade Rouge to v3.11.0. !17011
- Better job naming for Docker.gitlab-ci.yml. !17218 (luca.orlandi@gmail.com)
- Update GitLab Runner Helm Chart to 0.9.0. !17326
- Change welcome message and make translatable. !17391
- Remove map-get($grid-breakpoints, xs) for max-width. !17420 (Takuya Noguchi)
- Document Git LFS and max file size interaction. !17609
- Refactor email notification code. !17741 (briankabiro)
- Ignore id column of ci_build_trace_sections table. !17805
- Extend graphql query endpoint for merge requests to return more attributes to support sidebar implementation. !17813
- Project list: Align star icons. !17833
- Moves the license compliance reports to the Backend. !17905
- Fixes wrong link on Protected paths admin settings. !17945
- Update Pages to v1.11.0. !18010
- Refactor checksum code in uploads. !18065 (briankabiro)
- Make instance configuration user friendly. !18363 (Takuya Noguchi)
- Update Workhorse to v8.14.0. !18391
- Attribute each Sidekiq worker to a feature category. !18462
- Update GitLab Shell to v10.2.0. !18735
- Use correct icons for issue actions.
- Increase color contrast of select option path.
- Remove Postgresql specific setup tasks and move to schema.rb.
## 12.3.4
### Fixed (2 changes)
......
12.5.0-pre
12.3.0-pre
<script>
import _ from 'underscore';
import { GlDropdown, GlDropdownDivider, GlDropdownItem } from '@gitlab/ui';
const isValidItem = item =>
_.isString(item.eventName) && _.isString(item.title) && _.isString(item.description);
export default {
components: {
GlDropdown,
GlDropdownDivider,
GlDropdownItem,
},
props: {
actionItems: {
type: Array,
required: true,
validator(value) {
return value.length > 1 && value.every(isValidItem);
},
},
menuClass: {
type: String,
required: false,
default: '',
},
},
data() {
return {
selectedItem: this.actionItems[0],
};
},
computed: {
dropdownToggleText() {
return this.selectedItem.title;
},
},
methods: {
triggerEvent() {
this.$emit(this.selectedItem.eventName);
},
},
};
</script>
<template>
<gl-dropdown
:menu-class="`dropdown-menu-selectable ${menuClass}`"
split
:text="dropdownToggleText"
v-bind="$attrs"
@click="triggerEvent"
>
<template v-for="(item, itemIndex) in actionItems">
<gl-dropdown-item
:key="item.eventName"
:active="selectedItem === item"
active-class="is-active"
@click="selectedItem = item"
>
<strong>{{ item.title }}</strong>
<div>{{ item.description }}</div>
</gl-dropdown-item>
<gl-dropdown-divider
v-if="itemIndex < actionItems.length - 1"
:key="`${item.eventName}-divider`"
/>
</template>
</gl-dropdown>
</template>
......@@ -506,7 +506,8 @@
.dropdown-menu-selectable {
li {
a,
button {
button,
.dropdown-item {
padding: 8px 40px;
position: relative;
......
......@@ -1081,7 +1081,7 @@ class MergeRequest < ApplicationRecord
return true unless project.only_allow_merge_if_pipeline_succeeds?
return false unless actual_head_pipeline
actual_head_pipeline.success? || actual_head_pipeline.skipped?
actual_head_pipeline.success?
end
def environments_for(current_user)
......
......@@ -75,11 +75,11 @@ module ChatMessage
def activity
{
title: s_("ChatMessage|Pipeline %{pipeline_link} of %{ref_type} %{branch_link} by %{user_combined_name} %{humanized_status}") %
title: s_("ChatMessage|Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status}") %
{
pipeline_link: pipeline_link,
ref_type: ref_type,
branch_link: branch_link,
ref_link: ref_link,
user_combined_name: user_combined_name,
humanized_status: humanized_status
},
......@@ -123,7 +123,7 @@ module ChatMessage
fields = [
{
title: ref_type == "tag" ? s_("ChatMessage|Tag") : s_("ChatMessage|Branch"),
value: Slack::Notifier::LinkFormatter.format(ref_name_link),
value: Slack::Notifier::LinkFormatter.format(ref_link),
short: true
},
{
......@@ -141,12 +141,12 @@ module ChatMessage
end
def message
s_("ChatMessage|%{project_link}: Pipeline %{pipeline_link} of %{ref_type} %{branch_link} by %{user_combined_name} %{humanized_status} in %{duration}") %
s_("ChatMessage|%{project_link}: Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status} in %{duration}") %
{
project_link: project_link,
pipeline_link: pipeline_link,
ref_type: ref_type,
branch_link: branch_link,
ref_link: ref_link,
user_combined_name: user_combined_name,
humanized_status: humanized_status,
duration: pretty_duration(duration)
......@@ -193,12 +193,16 @@ module ChatMessage
end
end
def branch_url
def ref_url
if ref_type == 'tag'
"#{project_url}/-/tags/#{ref}"
else
"#{project_url}/commits/#{ref}"
end
end
def branch_link
"[#{ref}](#{branch_url})"
def ref_link
"[#{ref}](#{ref_url})"
end
def project_url
......@@ -266,14 +270,6 @@ module ChatMessage
"[#{commit.title}](#{commit_url})"
end
def commits_page_url
"#{project_url}/commits/#{ref}"
end
def ref_name_link
"[#{ref}](#{commits_page_url})"
end
def author_url
return unless user && committer
......
......@@ -82,16 +82,20 @@ module ChatMessage
Gitlab::Git.blank_ref?(after)
end
def branch_url
def ref_url
if ref_type == 'tag'
"#{project_url}/-/tags/#{ref}"
else
"#{project_url}/commits/#{ref}"
end
end
def compare_url
"#{project_url}/compare/#{before}...#{after}"
end
def branch_link
"[#{ref}](#{branch_url})"
def ref_link
"[#{ref}](#{ref_url})"
end
def project_link
......@@ -104,11 +108,11 @@ module ChatMessage
def compose_action_details
if new_branch?
['pushed new', branch_link, "to #{project_link}"]
['pushed new', ref_link, "to #{project_link}"]
elsif removed_branch?
['removed', ref, "from #{project_link}"]
else
['pushed to', branch_link, "of #{project_link} (#{compare_link})"]
['pushed to', ref_link, "of #{project_link} (#{compare_link})"]
end
end
......
---
title: Hide redundant labels in issue boards
merge_request: 17937
author:
type: fixed
---
title: Add projects.only option to Insights
merge_request: 15930
author:
type: added
---
title: Fix stylelint errors in epics.scss
merge_request: 17243
author:
type: fixed
---
title: Fix routing bugs in security dashboards
merge_request: 16738
author:
type: fixed
---
title: Adjust placeholder to solve misleading regex
merge_request: 18235
author:
type: fixed
---
title: Specify sort order explicitly for Group and Project audit events
merge_request: 17739
author:
type: fixed
---
title: Refactor checksum code in uploads
merge_request: 18065
author: briankabiro
type: other
---
title: Fix pod logs failure when pod contains more than 1 container
merge_request: 18574
author:
type: fixed
---
title: Show issue weight when weight is 0
merge_request: 17329
author: briankabiro
type: fixed
---
title: Fix creating epics with dates from api
merge_request: 18393
author:
type: fixed
---
title: Fix empty security dashboard for public projects
merge_request: 17915
author:
type: fixed
---
title: Add user_id and created_at columns to design_management_versions table
merge_request: 17316
author:
type: added
---
title: Make designs read-only if the issue has been moved, or if its discussion has been locked
merge_request: 18551
author:
type: changed
---
title: Adds sorting of packages at the group level
merge_request: 18062
author:
type: added
---
title: Make commit status created for any pipelines
merge_request: 17524
author: Aufar Gilbran
type: changed
---
title: 'Geo: Invalidate cache after refreshing foreign tables'
merge_request: 17885
author:
type: fixed
---
title: 'JIRA Integration API URL works having a trailing slash'
merge_request: 18526
author:
type: fixed
---
title: Creates Vue and Vuex app to render exposed artifacts
merge_request: 17934
author:
type: added
---
title: Warn before applying issue templates
merge_request: 16865
author:
type: changed
---
title: Abort Merge When Pipeline Succeeds when Fast Forward merge is impossible
merge_request: 17886
author:
type: fixed
---
title: Experimental separate sign up flow
merge_request: 16482
author:
type: other
---
title: Feature enabling embedded audio elements in markdown.
merge_request: 17860
author: Jesse Hall @jessehall3
type: added
---
title: Render xml artifact files in GitLab
merge_request: 16790
author:
type: added
---
title: Show 20 labels in dropdown instead of 5
merge_request: 17596
author:
type: fixed
---
title: Prevent the slash command parser from removing leading whitespace from content that is unrelated to slash commands
merge_request: 18589
author: Jared Deckard
type: fixed
---
title: "Show tag link whenever it's a tag in chat message integration for push events and pipeline events"
merge_request: 18126
author: Mats Estensen
type: fixed
---
title: Enable Request Access functionality by default for new projects and groups
merge_request: 17662
author:
type: changed
---
title: 'JIRA Service: Improve username/email validation'
merge_request: 18397
author:
type: fixed
---
title: Users can preview audio files in a repository.
merge_request: 18354
author: Jesse Hall @jessehall3
type: added
---
title: Add step 2 of the experimental signup flow
merge_request: 16583
author:
type: changed
---
title: Add more attributes to issues GraphQL endpoint
merge_request: 17802
author:
type: changed
---
title: Extend graphql query endpoint for merge requests to return more attributes to support sidebar implementation
merge_request: 17813
author:
type: other
---
title: 'Adds the ability to delete single tags from the docker registry. Fix the issue that caused all related tags and image to be deleted at the same time.'
merge_request: 16886
author:
type: fixed
---
title: Adds separate parsers for mentions of users, groups, projects in markdown content
merge_request: 18318
author:
type: added
---
title: Limit the number of comments on an issue, MR, or commit
merge_request: 18111
author:
type: added
---
title: 'Merge Request: Close JIRA issues when issues are disabled'
merge_request: 17743
author:
type: fixed
---
title: Fixes job overflow in stages dropdown
merge_request:
author:
type: fixed
---
title: Remove map-get($grid-breakpoints, xs) for max-width
merge_request: 17420
author: Takuya Noguchi
type: other
---
title: Allow maintainers to toggle write permission for public deploy keys
merge_request: 17210
author:
type: fixed
---
title: Group level Container Registry browser
merge_request: 17615
author:
type: added
---
title: Fix new discussion replies sometimes showing up twice
merge_request: 17255
author:
type: fixed
---
title: Support ES searches for project snippets
merge_request: 18459
author:
type: fixed
---
title: Fix Jira integration favicon image with relative URL
merge_request: 16802
author:
type: fixed
---
title: Add 'New release' to the project custom notifications
merge_request: 17877
author:
type: added
---
title: Creation of Evidence collection of new releases.
merge_request: 17217
author:
type: added
---
title: Fix issue with wiki TOC links being treated as external links
merge_request:
author: Oren Kanner
type: fixed
---
title: Enable Cloud Run on GKE cluster creation
merge_request: 16566
author:
type: added
---
title: Fix showing diff when it has legacy diff notes
merge_request: 18510
author:
type: fixed
---
title: Add property to enable metrics dashboards to be rearranged
merge_request: 16605
author:
type: changed
---
title: Check if mapping is empty before caching in File Collections
merge_request: 18290
author: briankabiro
type: performance
---
title: Prevents a group path change when a project inside the group has container
registry images
merge_request: 17583
author:
type: fixed
---
title: Increase color contrast of select option path
merge_request:
author:
type: other
---
title: Unpin ingress image version, upgrade chart to 1.22.1
merge_request: 18047
author:
type: added
---
title: Schedule background migration to populate pages metadata
merge_request: 17993
author:
type: added
---
title: Add index on ci_builds for successful Pages deploys
merge_request: 17204
author:
type: added
---
title: Add project_pages_metadata DB table
merge_request: 17197
author:
type: added
---
title: Provide Merge requests and Issue links through the Release API
merge_request: 18311
author:
type: added
---
title: Add support for the association of multiple milestones to the Releases page
merge_request: 17091
author:
type: changed
---
title: Use cascading deletes for deleting logs upon deleting a webhook
merge_request: 18642
author:
type: performance
---
title: Fix inline rendering of videos for uploads with uppercase file extensions
merge_request: 17924
author:
type: fixed
---
title: Show all groups user belongs to in Notification settings
merge_request: 17303
author:
type: fixed
---
title: Improve time window filtering on metrics dashboard
merge_request: 17554
author:
type: added
---
title: Web IDE button should fork and open forked project when selected from read-only
project
merge_request: 17672
author:
type: added
---
title: Fix Web IDE tree not updating modified status
merge_request: 18647
author:
type: fixed
---
title: Fix notifications for private group mentions in Notes, Issues, and Merge Requests
merge_request: 18183
author:
type: fixed
---
title: Do not start mirroring via API when paused
merge_request: 17930
author:
type: changed
---
title: Refactor email notification code
merge_request: 17741
author: briankabiro
type: other
---
title: Fixes variables overflowing in sm screens
merge_request:
author:
type: fixed
---
title: Fix notes race condition when linking to specific note
merge_request: 17777
author:
type: fixed
---
title: Embed Jaeger in Gitlab UI
merge_request:
author:
type: changed
---
title: Use text instead of icon for recent searches dropdown
merge_request:
author:
type: changed
---
title: Fix usability problems with the file template picker
merge_request: 17522
author:
type: changed
---
title: Enable grid, frame and stripes styling on AsciiDoc tables
merge_request: 18165
author: Guillaume Grossetie
type: fixed
---
title: Show only personal snippets on explore page
merge_request: 18092
author:
type: performance
---
title: 'Fix Issue: WebIDE asks for confirmation to leave the page when committing
and creating a new MR'
merge_request: 17671
author:
type: fixed
---
title: Aggregate push events when there are too many
merge_request: 18239
author:
type: changed
---
title: Don't execute webhooks/services when above limit
merge_request: 17874
author:
type: performance
---
title: Fix broken notes avatar rendering in Chrome 77
merge_request: 18110
author:
type: fixed
---
title: Reduce Gitaly calls when viewing a commit
merge_request: 17095
author:
type: performance
---
title: Introduce diffs_batch JSON endpoint for paginated diffs
merge_request: 17651
author:
type: added
---
title: Update top nav bar to fit all content in at all screen sizes
merge_request:
author:
type: fixed
---
title: Alphabetically sorts selected sidebar labels.
merge_request: 17309
author:
type: fixed
---
title: Fix Flaky spec/finders/members_finder_spec.rb:85
merge_request: 18257
author: Jacopo Beschi @jacopo-beschi
type: fixed
---
title: Add two new predefined stages to pipelines
merge_request: 18205
author:
type: added
---
title: Banners should only be dismissable by clicking x button
merge_request: 17642
author:
type: changed
---
title: Update registry tag delete popup message
merge_request: 17257
author:
type: changed
---
title: Allow cross-project pipeline triggering with CI_JOB_TOKEN in core
merge_request: 17251
author:
type: added
---
title: Port over EE pipeline functionality to CE
merge_request: 18136
author:
type: changed
---
title: Collect docker registry related metrics
merge_request: 17063
author:
type: added
---
title: Update cluster link text
merge_request: 18322
author:
type: changed
---
title: Nullify platform Kubernetes namespace if blank
merge_request: 17657
author:
type: fixed
---
title: Stop sidebar icons from jumping when expanded & collapsed
merge_request: 16971
author:
type: fixed
---
title: Add ability to query todos using GraphQL
merge_request: 18218
author:
type: added
---
title: 'Snowplow custom events for Monitor: Health Product Categories'
merge_request: 18157
author:
type: added
---
title: Moves the license compliance reports to the Backend
merge_request: 17905
author:
type: other
---
title: 'Project list: Align star icons'
merge_request: 17833
author:
type: other
---
title: Allow users to add and remove zoom rooms on an issue using quick action commands
merge_request:
author:
type: added
---
title: Removes Collapsible Sections from Job Log
merge_request:
author:
type: fixed
---
title: Remove thin white line at top of diff view code blocks
merge_request: 17026
author:
type: fixed
---
title: Fix GraphQL for read-only instances
merge_request: 17225
author:
type: fixed
---
title: Use correct icons for issue actions
merge_request:
author:
type: other
---
title: Fix css selector for details in issue description
merge_request: 17557
author:
type: fixed
---
title: 'Geo: Fix instruction from rake geo:gitlab:check'
merge_request: 17895
author:
type: changed
---
title: Change welcome message and make translatable
merge_request: 17391
author:
type: other
---
title: Users can view the blame or history of a file with newlines in its filename.
merge_request: 17543
author: Jesse Hall @jessehall3
type: fixed
---
title: Fix relative positioning when moving items down and there is no space
merge_request: 17781
author:
type: fixed
---
title: 'Geo: Fix race condition for container synchronization'
merge_request: 17823
author:
type: fixed
---
title: Add more specific message to clarify the role of empty images in container
registry
merge_request: 32919
author:
type: changed
---
title: Add matching branch info to branch column
merge_request: 18352
author:
type: added
---
title: Time window filter in monitor dashboard gets reset
merge_request: 17972
author:
type: fixed
---
title: Fix 500 error on clicking to LetsEncrypt Terms of Service
merge_request: 18263
author:
type: fixed
---
title: Add missing page title to projects/container-registry
merge_request: 18114
author:
type: changed
---
title: Make sure project insights stick on its own
merge_request: 18082
author:
type: fixed
---
title: Container registry tag(s) delete button pluralization
merge_request: 18260
author:
type: changed
---
title: Fix protected branch detection used by notification service
merge_request: 18221
author:
type: fixed
---
title: HTML-escape search term in empty message
merge_request: 18319
author:
type: security
---
title: Do not allow deactivated users to use slash commands
merge_request: 18365
author:
type: fixed
---
title: Allow to view productivity analytics page without a license
merge_request: 33876
author:
type: fixed
---
title: Fix container registry delete tag modal title and button
merge_request: 34032
author:
type: fixed
---
title: Resolve missing design system notes icons
merge_request: 18693
author:
type: fixed
---
title: Fix formatting welcome screen external users
merge_request: 16667
author:
type: fixed
---
title: Add database tables to store AWS roles and cluster providers
merge_request: 17057
author:
type: added
---
title: Naming a project "shared" will no longer automatically open the "Shared Projects" tab.
merge_request: 16847
author: Jesse Hall @jessehall3
type: fixed
---
title: Add status to deployments and state to environments in API responses
merge_request: 16242
author:
type: changed
---
title: "[ObjectStorage] Allow migrating back to local storage"
merge_request: 16868
author:
type: added
---
title: Links on Releases page to commits and tags
merge_request: 16128
author:
type: changed
---
title: Add empty state in file search
merge_request: 16851
author:
type: changed
---
title: When user toggles task list item, keep details open until user closes the details
manually
merge_request: 16153
author:
type: fixed
---
title: Add kubernetes section to group runner settings
merge_request: 16338
author:
type: added
---
title: Deactivate a user (with self-service reactivation)
merge_request: 17037
author:
type: added
---
title: Cache branch and tag names as Redis sets
merge_request: 30476
author:
type: performance
---
title: persist the refs when open the link of refs in a new tab of browser
merge_request: 31998
author: minghuan lei
type: added
---
title: Fix for count in todo badge when user has over 1,000 todos. Will now correctly
display todo count after user marks some todos as done.
merge_request: 16844
author: Jesse Hall @jessehall3
type: fixed
---
title: Changed confidential quick action to only be available on non confidential issues
merge_request: 16902
author: Marc Schwede
type: fixed
---
title: Use scope param instead of hide_dismissed
merge_request: 16834
author:
type: changed
---
title: Added 'copy link' in epic comment dropdown.
merge_request: 17224
author:
type: added
---
title: Allow users to compare Git revisions on a read-only instance
merge_request: 18038
author:
type: fixed
---
title: Avoid unnecessary locks on internal_ids
merge_request: 18328
author:
type: performance
---
title: Replace index on ci_triggers
merge_request: 18652
author:
type: performance
---
title: Avoid dumping files on disk when direct_upload is enabled
merge_request: 18135
author:
type: performance
---
title: Add pull_mirror_branch_prefix column on projects table
merge_request: 17368
author:
type: added
---
title: Handle wiki and graphql attachments in gitlab-workhorse
merge_request: 17690
author:
type: performance
---
title: Introduce new Ansi2json parser to convert job logs to JSON
merge_request: 18133
author:
type: added
---
title: Introduce CI_PROJECT_TITLE as predefined environment variable
merge_request: 17849
author: Nejc Habjan
type: added
---
title: Add first_parent option to list commits api
merge_request: 32410
author: jhenkens
type: added
---
title: Export liveness and readiness probes
merge_request:
author:
type: changed
---
title: Adds sorting of packages at the project level
merge_request: 15448
author:
type: added
---
title: Added timestamp (updated_at) to API deployments response
merge_request: 17913
author:
type: added
---
title: Added timestamps (created_at and updated_at) to API pipelines response
merge_request: 17911
author:
type: added
---
title: Disable gitlab-workhorse static error page on health endpoints
merge_request: 17770
author:
type: fixed
---
title: Catch unhandled exceptions in health checks
merge_request: 17694
author:
type: fixed
---
title: Upgrade gitlab-workhorse to 8.12.0
merge_request: 17892
author:
type: changed
---
title: Add individual inherited member lookup API
merge_request: 17744
author:
type: added
---
title: Allow users to be searched with a @ prefix
merge_request: 17742
author:
type: added
---
title: Priority bump authorized_projects sidekiq queue
merge_request: 18125
author:
type: performance
---
title: Attribute each Sidekiq worker to a feature category
merge_request: 18462
author:
type: other
---
title: 'Allow to exclude ancestor groups on group labels API'
merge_request: 17221
author: Mathieu Parent
type: added
---
title: Backfill releases table updated_at column and add not null constraints to created_at and updated_at
merge_request: 17400
author:
type: fixed
---
title: Update PumaWorkerKiller defaults
merge_request: 17758
author:
type: performance
---
title: Bump GITLAB_ELASTICSEARCH_INDEXER_VERSION=v1.4.0
merge_request: 18558
author:
type: fixed
---
title: Fix viewing merge reqeust from a fork that's being deleted
merge_request: 17894
author:
type: fixed
---
title: Only schedule updating push-mirrors once per push
merge_request: 17902
author:
type: performance
---
title: Use cache_method_asymmetrically with Repository#has_visible_content?
merge_request: 17975
author:
type: fixed
---
title: Adds management project for a cluster
merge_request: 17866
author:
type: changed
---
title: Create a persistent ref per pipeline for keeping pipelines run from force-push
and merged results
merge_request: 17043
author:
type: fixed
---
title: Reduce lock contention of deployment creation by allocating IID outside
of the pipeline transaction
merge_request: 17696
author:
type: performance
---
title: Add API for manually creating and updating deployments
merge_request: 17620
author:
type: added
---
title: Improve UI for admin/projects and group/settings/projects pages
merge_request: 17247
author:
type: changed
---
title: Increase group avatar size to 40px
merge_request: 18654
author:
type: changed
---
title: Improve UI of documentation under /help
merge_request: 18331
author:
type: changed
---
title: Improve admin/system_info page ui
merge_request: 17829
author:
type: changed
---
title: Show correct CI indicator when build succeeded with warnings.
merge_request: 17034
author:
type: fixed
---
title: Include in the callout message a list of jobs that caused missing dependencies
failure.
merge_request: 18219
author:
type: added
---
title: Add max_artifacts_size fields under project and group settings.
merge_request: 18286
author:
type: added
---
title: MR Test Summary now shows errors as failures.
merge_request: 17039
author:
type: changed
---
title: Fix signup link in admin area not being disabled
merge_request: 16726
author: Illya Klymov
type: fixed
---
title: Show epic events on group activity page.
merge_request: 18869
author:
type: added
---
title: Expose name property in imports API
merge_request: 16848
author:
type: added
---
title: Require admins to enter admin-mode by re-authenticating before performing
administrative operations
merge_request: 16981
author: Roger Rüttimann & Diego Louzán
type: added
---
title: Adds login input with copy box and supporting copy to empty container registry view
merge_request: 18244
author: nate geslin
type: added
---
title: Create clusters with VPC-Native enabled
merge_request: 18284
author:
type: changed
---
title: Avoid knative and prometheus uninstall race condition
merge_request: 18020
author:
type: changed
---
title: Fix bug with new wiki not being indexed
merge_request: 18051
author:
type: fixed
---
title: Fix moved help URL for monitoring performance
merge_request:
author:
type: fixed
---
title: Fix N+1 queries in Jira Development Panel API endpoint
merge_request: 18329
author:
type: performance
---
title: Do not strip forwarded message body when creating an issue from Service Desk
email.
merge_request: 18196
author:
type: fixed
---
title: Fix styling of set status emoji picker
merge_request: 18509
author:
type: fixed
---
title: Narrow snippet search scope in GitLab.com
merge_request: 17625
author:
type: performance
---
title: Generate LFS token authorization for user LFS requests
merge_request: 17332
author:
type: fixed
---
title: Limit snippets search count
merge_request: 17585
author:
type: performance
---
title: Add trigram index on snippet content
merge_request: 17806
author:
type: performance
---
title: Move SMAU usage counters to the UsageData count field
merge_request: 17074
author:
type: fixed
---
title: Preserve custom .gitlab-ci.yml config path when forking.
merge_request: 17817
author: Mathieu Parent
type: added
---
title: Add "Custom HTTP Git clone URL root" setting
merge_request: 18422
author:
type: added
---
title: Add GitHub & Gitea importers project filtering
merge_request: 16823
author:
type: added
---
title: Add project filtering to Bitbucket Cloud import
merge_request: 16828
author:
type: added
---
title: Upgrade Gitaly to v1.64
merge_request: 16788
author:
type: added
---
title: Upgrade to Gitaly v1.66.0
merge_request: 17900
author:
type: changed
---
title: Upgrade to Gitaly v1.67.0
merge_request: 18326
author:
type: changed
---
title: Set name and updated_at properly in GitHub ReleaseImporter
merge_request: 17020
author:
type: fixed
---
title: Add support for epic update through GraphQL API.
merge_request: 18440
author:
type: added
---
title: Fix visibility level error when updating group from API
merge_request: 17227
author: Mathieu Parent
type: fixed
---
title: 'API: Add missing group parameters'
merge_request: 17220
author: Mathieu Parent
type: added
---
title: Optimize SQL requests for BlameController and CommitsController
merge_request: 18342
author:
type: performance
---
title: Cleanup background migrations for any approval rules
merge_request: 18256
author:
type: changed
---
title: Remove N+1 for fetching commits signatures
merge_request: 18389
author:
type: performance
---
title: Allow intra-project MR dependencies
merge_request: 16799
author:
type: changed
---
title: Ignore incoming emails with X-Autoreply header.
merge_request: 18118
author:
type: fixed
---
title: Ignore id column of ci_build_trace_sections table
merge_request: 17805
author:
type: change
---
title: Use search scope label in empty results message
merge_request: 16324
author:
type: changed
---
title: Increase the limit of includes in CI file to 100
merge_request: 17807
author:
type: fixed
---
title: Provides internationalization support to chart legends
merge_request: 16832
author:
type: added
---
title: Support Create/Read/Destroy operations in Feature Flag API
merge_request: 18198
author:
type: added
---
title: Expose subscribed attribute for epic on API
merge_request: 18475
author:
type: added
---
title: Expose web_url for epics on API
merge_request: 17380
author:
type: added
---
title: Sync issuables state_id with null values
merge_request: 16480
author:
type: other
---
title: Deprecate usage of state column for issues and merge requests
merge_request: 18099
author:
type: changed
---
title: Fix permissions for group milestones
merge_request:
author:
type: fixed
---
title: Add allowFilter and allowAnySHA1InWant for partial clones
merge_request: 16850
author:
type: added
---
title: Use GetBlobs RPC for uri type
merge_request: 16824
author:
type: performance
---
title: Removing cleanup:repo, cleanup:dirs
merge_request: 18087
author:
type: deprecated
---
title: Add file matching rule to flexible CI rules
merge_request: 16574
author:
type: added
---
title: Document Git LFS and max file size interaction
merge_request: 17609
author:
type: other
---
title: Knative version bump 0.6 -> 0.7
merge_request: 17367
author: Chris Baumbauer
type: changed
---
title: Add proper label REST API for update, delete and promote
merge_request: 17239
author: Mathieu Parent
type: added
---
title: Block MR with OMIPS on skipped pipelines.
merge_request: 18838
author:
type: fixed
---
title: Show the "Set up CI/CD" prompt in empty repositories when applicable.
merge_request: 17274
author: Ben McCormick
type: changed
---
title: Fixes wrong link on Protected paths admin settings
merge_request: 17945
author:
type: other
---
title: Allow users to configure protected paths from Admin panel
merge_request: 31246
author:
type: added
---
title: Show related merge requests in pipeline view
merge_request: 18697
author:
type: added
---
title: 'Geo: Enable replicating uploads, LFS objects, and artifacts in Object Storage'
merge_request: 18482
author:
type: added
---
title: Use MR links in PipelinePresenter#ref_text for branch pipelines
merge_request: 17947
author:
type: changed
---
title: Add edit button to release blocks on Releases page
merge_request: 18411
author:
type: added
---
title: Add "Edit Release" page
merge_request: 18033
author:
type: added
---
title: Allow releases to be targeted by URL anchor links on the Releases page
merge_request: 17150
author:
type: added
---
title: Fix button link foreground color
merge_request: 18669
author:
type: fixed
---
title: Suppress error messages shown when navigating to a new page
merge_request: 17706
author:
type: fixed
---
title: Stopped CRD apply retrying from allowing silent failures
merge_request: 18421
author:
type: fixed
---
title: Introduce a lightweight diffs_metadata endpoint
merge_request: 18104
author:
type: added
---
title: Adjust unnapliable suggestions in expanded lines
merge_request: 17286
author:
type: fixed
---
title: Update Pages to v1.11.0
merge_request: 18010
author:
type: other
---
title: Add columns for per project/group max pages/artifacts sizes
merge_request: 17231
author:
type: added
---
title: Better job naming for Docker.gitlab-ci.yml
merge_request: 17218
author: luca.orlandi@gmail.com
type: other
---
title: Add warnings to performance bar when page shows signs of poor performance
merge_request: 17612
author:
type: changed
---
title: Enable preview of private artifacts
merge_request: 16675
author: Tuomo Ala-Vannesluoma
type: added
---
title: Embed metrics time window scroll no longer affects other embeds
merge_request: 18109
author:
type: fixed
---
title: Fix error tracking table layout on small screens
merge_request: 18325
author:
type: fixed
---
title: Fix error where helper was incorrectly returning `true`
merge_request: 18231
author:
type: fixed
---
title: Remove duplicate primary button in dashboard snippets
merge_request: 32048
author: George Tsiolis
type: fixed
---
title: Show error message when setting an invalid group ID for the performance bar
merge_request:
author:
type: fixed
---
title: Fixes issues with the security reports migration
merge_request: 17519
author:
type: fixed
---
title: Add a policy check for system notes that may not be visible due to cross references
to private items
merge_request:
author:
type: security
---
title: Display only participants that user has permission to see on milestone page
merge_request:
author:
type: security
---
title: Do not disclose project milestones on group milestones page when project milestones
access is disabled in project settings
merge_request:
author:
type: security
---
title: Check permissions before showing head pipeline blocking merge requests
merge_request:
author:
type: security
---
title: Fix private feature Elasticsearch leak
merge_request:
author:
type: security
---
title: Fix new project path being disclosed through unsubscribe link of issue/merge
requests
merge_request:
author:
type: security
---
title: Prevent bypassing email verification using Salesforce
merge_request:
author:
type: security
---
title: Do not show resource label events referencing not accessible labels.
merge_request:
author:
type: security
---
title: Cancel all running CI jobs triggered by the user who is just blocked
merge_request:
author:
type: security
---
title: Fix Gitaly SearchBlobs flag RPC injection
merge_request:
author:
type: security
---
title: Only render fixed number of mermaid blocks
merge_request:
author:
type: security
---
title: Prevent GitLab accounts takeover if SAML is configured
merge_request:
author:
type: security
---
title: Limit search for IID to a type to avoid leaking records with the same IID that
the user does not have access to
merge_request:
author:
type: security
---
title: Upgrade Rouge to v3.11.0
merge_request: 17011
author:
type: other
---
title: Fix erroneous "No activities found" message
merge_request: 18434
author:
type: fixed
---
title: Enable Google API retries for uploads
merge_request: 18040
author:
type: fixed
---
title: Fix Gitaly N+1 queries in related merge requests API
merge_request: 17850
author:
type: performance
---
title: Fix project imports for pipelines for merge requests
merge_request: 17799
author:
type: fixed
---
title: Fix inability to set snippet visibility via API
merge_request: 18612
author:
type: fixed
---
title: 'GitHub import: Handle nil published_at dates'
merge_request: 18355
author:
type: fixed
---
title: Log Sidekiq exceptions properly in JSON format
merge_request: 17412
author:
type: fixed
---
title: Hide license breakdown in /admin if user count is high
merge_request: 18825
author:
type: performance
---
title: Limit diverging commit counts requests
merge_request: 16737
author:
type: performance
---
title: Reduce idle in transaction time when updating a merge request
merge_request: 18493
author:
type: performance
---
title: Add backend support for selecting custom templates by ID
merge_request: 18178
author:
type: fixed
---
title: Show the original branch name and link of merge request in pipeline emails
merge_request: 17513
author:
type: fixed
---
title: Sort vulnerabilities by severity then confidence for dashboard and pipeline views
merge_request: 18675
author:
type: changed
---
title: Changes response body of liveness check to be more accurate
merge_request: 17655
author:
type: changed
---
title: Do not show new issue button on archived projects
merge_request: 18590
author:
type: changed
---
title: Stops the expand button in reports from expanding
merge_request: 18064
author:
type: fixed
---
title: Create table for grafana api token for metrics embeds
merge_request: 17234
author:
type: added
---
title: Add endpoint to proxy requests to grafana's proxy endpoint
merge_request: 18210
author:
type: added
---
title: Cross-link unreplicated Geo types to issues
merge_request: 18443
author:
type: changed
---
title: Add timeout mechanism for CI config validation
merge_request: 16807
author:
type: fixed
---
title: Fixes embedded metrics chart tooltip spacing
merge_request: 18543
author:
type: fixed
---
title: Update GitLab Runner Helm Chart to 0.9.0
merge_request: 17326
author:
type: other
---
title: Update GitLab Shell to v10.2.0
merge_request: 18735
author:
type: other
---
title: Add pipeline preparing status icons
merge_request: 17923
author:
type: added
---
title: Remove Postgresql specific setup tasks and move to schema.rb
merge_request:
author:
type: other
---
title: Use new Ansi2json job log converter via feature flag
merge_request: 18134
author:
type: added
---
title: Make instance configuration user friendly
merge_request: 18363
author: Takuya Noguchi
type: other
---
title: Add web_exporter to expose Prometheus metrics
merge_request: 17943
author:
type: added
---
title: Display reCAPTCHA modal when making issue public
merge_request: 17553
author:
type: fixed
---
title: Display if an issue was moved in issue list
merge_request: 17102
author:
type: changed
---
title: Redo fix for related issues border radius
merge_request: 17480
author:
type: fixed
---
title: Update Workhorse to v8.14.0
merge_request: 18391
author:
type: other
---
title: Add timeouts for each RPC call
merge_request: 31766
author:
type: changed
# frozen_string_literal: true
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
# for more information on how to write migrations for GitLab.
# TODO: remove this migration after execution on gitlab.com https://gitlab.com/gitlab-org/gitlab/issues/34018
class ScheduleFixGitlabComPagesAccessLevel < ActiveRecord::Migration[5.2]
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
MIGRATION = 'FixGitlabComPagesAccessLevel'
BATCH_SIZE = 20_000
BATCH_TIME = 2.minutes
# Project
class Project < ActiveRecord::Base
include EachBatch
self.table_name = 'projects'
self.inheritance_column = :_type_disabled
end
disable_ddl_transaction!
def up
return unless ::Gitlab.com?
queue_background_migration_jobs_by_range_at_intervals(
Project,
MIGRATION,
BATCH_TIME,
batch_size: BATCH_SIZE)
end
def down
end
end
......@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_10_16_220135) do
ActiveRecord::Schema.define(version: 2019_10_17_045817) do
# These are extensions that must be enabled in order to support this database
enable_extension "pg_trgm"
......
......@@ -2,8 +2,8 @@
> [Introduced][ce-4578] in GitLab 8.10.
GitLab allows you to define multiple repository storage paths to distribute the
storage load between several mount points.
GitLab allows you to define multiple repository storage paths (sometimes called
storage shards) to distribute the storage load between several mount points.
> **Notes:**
>
......
......@@ -5,8 +5,8 @@
Two different storage layouts can be used
to store the repositories on disk and their characteristics.
GitLab can be configured to use one or multiple repository shard locations
that can be:
GitLab can be configured to use one or multiple repository storage paths/shard
locations that can be:
- Mounted to the local disk
- Exposed as an NFS shared volume
......@@ -34,8 +34,8 @@ easy for Administrators to find where the repository is stored.
On the other hand this has some drawbacks:
Storage location will concentrate huge amount of top-level namespaces. The
impact can be reduced by the introduction of [multiple storage
paths][storage-paths].
impact can be reduced by the introduction of
[multiple storage paths](repository_storage_paths.md).
Because backups are a snapshot of the same URL mapping, if you try to recover a
very old backup, you need to verify whether any project has taken the place of
......@@ -197,5 +197,4 @@ They are also S3 compatible since **10.0** (GitLab Premium), and available in Gi
[ce-2821]: https://gitlab.com/gitlab-com/infrastructure/issues/2821
[ce-28283]: https://gitlab.com/gitlab-org/gitlab-foss/issues/28283
[rake/migrate-to-hashed]: raketasks/storage.md#migrate-existing-projects-to-hashed-storage
[storage-paths]: repository_storage_types.md
[gitaly]: gitaly/index.md
# frozen_string_literal: true
module Gitlab
module BackgroundMigration
# Fixes https://gitlab.com/gitlab-org/gitlab/issues/32961
class FixGitlabComPagesAccessLevel
# Copy routable here to avoid relying on application logic
module Routable
def build_full_path
if parent && path
parent.build_full_path + '/' + path
else
path
end
end
end
# Namespace
class Namespace < ActiveRecord::Base
self.table_name = 'namespaces'
self.inheritance_column = :_type_disabled
include Routable
belongs_to :parent, class_name: "Namespace"
end
# ProjectPagesMetadatum
class ProjectPagesMetadatum < ActiveRecord::Base
self.primary_key = :project_id
belongs_to :project, inverse_of: :pages_metadatum
scope :deployed, -> { where(deployed: true) }
end
# Project
class Project < ActiveRecord::Base
self.table_name = 'projects'
self.inheritance_column = :_type_disabled
include Routable
belongs_to :namespace
alias_method :parent, :namespace
alias_attribute :parent_id, :namespace_id
has_one :project_feature, inverse_of: :project
has_one :pages_metadatum, class_name: 'ProjectPagesMetadatum', inverse_of: :project
scope :with_pages_deployed, -> do
joins(:pages_metadatum).merge(ProjectPagesMetadatum.deployed)
end
PRIVATE = 0
INTERNAL = 10
PUBLIC = 20
delegate :public_pages?, to: :project_feature
def public_pages_path
File.join(pages_path, 'public')
end
def pages_path
File.join(Settings.pages.path, build_full_path)
end
def public?
visibility_level == PUBLIC
end
end
# ProjectFeature
class ProjectFeature < ActiveRecord::Base
self.table_name = 'project_features'
belongs_to :project
DISABLED = 0
PRIVATE = 10
ENABLED = 20
PUBLIC = 30
end
def perform(start_id, stop_id)
logger = Gitlab::BackgroundMigration::Logger.build
Project.where(id: start_id..stop_id).with_pages_deployed.includes(:project_feature).find_each do |project|
config_path = File.join(project.pages_path, 'config.json')
ac_is_enabled_in_config = JSON.parse(File.read(config_path))["access_control"]
next if ac_is_enabled_in_config # we already made site private and don't want to surprise the user
next if project.project_feature.pages_access_level == ProjectFeature::DISABLED
new_access_level = project.public? ? ProjectFeature::ENABLED : ProjectFeature::PUBLIC
next if project.project_feature.pages_access_level == new_access_level
logger.info(
message: "Changing pages access control level",
project_id: project.id,
access_level_before: project.project_feature.pages_access_level,
access_level_after: new_access_level
)
project.project_feature.update_column(:pages_access_level, new_access_level)
rescue => e
Gitlab::Sentry.track_exception(e, extra: { project_id: project.id })
end
end
end
end
end
......@@ -9,6 +9,8 @@ module Gitlab
def initialize
@metrics = init_metrics
@metrics[:sidekiq_concurrency].set({}, Sidekiq.options[:concurrency].to_i)
end
def call(_worker, job, queue)
......@@ -45,7 +47,8 @@ module Gitlab
sidekiq_jobs_completion_seconds: ::Gitlab::Metrics.histogram(:sidekiq_jobs_completion_seconds, 'Seconds to complete sidekiq job', {}, SIDEKIQ_LATENCY_BUCKETS),
sidekiq_jobs_failed_total: ::Gitlab::Metrics.counter(:sidekiq_jobs_failed_total, 'Sidekiq jobs failed'),
sidekiq_jobs_retried_total: ::Gitlab::Metrics.counter(:sidekiq_jobs_retried_total, 'Sidekiq jobs retried'),
sidekiq_running_jobs: ::Gitlab::Metrics.gauge(:sidekiq_running_jobs, 'Number of Sidekiq jobs running', {}, :livesum)
sidekiq_running_jobs: ::Gitlab::Metrics.gauge(:sidekiq_running_jobs, 'Number of Sidekiq jobs running', {}, :all),
sidekiq_concurrency: ::Gitlab::Metrics.gauge(:sidekiq_concurrency, 'Maximum number of Sidekiq jobs', {}, :all)
}
end
......
......@@ -6,7 +6,7 @@ module Prometheus
def worker_id
if Sidekiq.server?
'sidekiq'
sidekiq_worker_id
elsif defined?(Unicorn::Worker)
unicorn_worker_id
elsif defined?(::Puma)
......@@ -18,6 +18,14 @@ module Prometheus
private
def sidekiq_worker_id
if worker = ENV['SIDEKIQ_WORKER_ID']
"sidekiq_#{worker}"
else
'sidekiq'
end
end
def unicorn_worker_id
if matches = process_name.match(/unicorn.*worker\[([0-9]+)\]/)
"unicorn_#{matches[1]}"
......
......@@ -925,6 +925,9 @@ msgstr ""
msgid "Add an SSH key"
msgstr ""
msgid "Add an existing issue to the epic."
msgstr ""
msgid "Add an issue"
msgstr ""
......@@ -2964,7 +2967,7 @@ msgstr ""
msgid "Chat"
msgstr ""
msgid "ChatMessage|%{project_link}: Pipeline %{pipeline_link} of %{ref_type} %{branch_link} by %{user_combined_name} %{humanized_status} in %{duration}"
msgid "ChatMessage|%{project_link}: Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status} in %{duration}"
msgstr ""
msgid "ChatMessage|Branch"
......@@ -2985,7 +2988,7 @@ msgstr ""
msgid "ChatMessage|Pipeline #%{pipeline_id} %{humanized_status} in %{duration}"
msgstr ""
msgid "ChatMessage|Pipeline %{pipeline_link} of %{ref_type} %{branch_link} by %{user_combined_name} %{humanized_status}"
msgid "ChatMessage|Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status}"
msgstr ""
msgid "ChatMessage|Tag"
......@@ -4672,12 +4675,18 @@ msgstr ""
msgid "Create a new issue"
msgstr ""
msgid "Create a new issue and add it to the epic."
msgstr ""
msgid "Create a new repository"
msgstr ""
msgid "Create a personal access token on your account to pull or push via %{protocol}."
msgstr ""
msgid "Create an issue"
msgstr ""
msgid "Create an issue. Issues are created for each alert triggered."
msgstr ""
......
......@@ -89,12 +89,12 @@ describe 'Merge request > User merges only if pipeline succeeds', :js do
context 'when CI skipped' do
let(:status) { :skipped }
it 'allows MR to be merged' do
it 'does not allow MR to be merged' do
visit project_merge_request_path(project, merge_request)
wait_for_requests
expect(page).to have_button 'Merge'
expect(page).not_to have_button 'Merge'
end
end
end
......
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`SplitButton renders actionItems 1`] = `
<gldropdown-stub
menu-class="dropdown-menu-selectable "
split="true"
text="professor"
>
<gldropdownitem-stub
active="true"
active-class="is-active"
>
<strong>
professor
</strong>
<div>
very symphonic
</div>
</gldropdownitem-stub>
<gldropdowndivider-stub />
<gldropdownitem-stub
active-class="is-active"
>
<strong>
captain
</strong>
<div>
warp drive
</div>
</gldropdownitem-stub>
<!---->
</gldropdown-stub>
`;
import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import SplitButton from '~/vue_shared/components/split_button.vue';
const mockActionItems = [
{
eventName: 'concert',
title: 'professor',
description: 'very symphonic',
},
{
eventName: 'apocalypse',
title: 'captain',
description: 'warp drive',
},
];
describe('SplitButton', () => {
let wrapper;
const createComponent = propsData => {
wrapper = shallowMount(SplitButton, {
propsData,
sync: false,
});
};
const findDropdown = () => wrapper.find(GlDropdown);
const findDropdownItem = (index = 0) =>
findDropdown()
.findAll(GlDropdownItem)
.at(index);
const selectItem = index => {
findDropdownItem(index).vm.$emit('click');
return wrapper.vm.$nextTick();
};
const clickToggleButton = () => {
findDropdown().vm.$emit('click');
return wrapper.vm.$nextTick();
};
it('fails for empty actionItems', () => {
const actionItems = [];
expect(() => createComponent({ actionItems })).toThrow();
});
it('fails for single actionItems', () => {
const actionItems = [mockActionItems[0]];
expect(() => createComponent({ actionItems })).toThrow();
});
it('renders actionItems', () => {
createComponent({ actionItems: mockActionItems });
expect(wrapper.element).toMatchSnapshot();
});
describe('toggle button text', () => {
beforeEach(() => {
createComponent({ actionItems: mockActionItems });
});
it('defaults to first actionItems title', () => {
expect(findDropdown().props().text).toBe(mockActionItems[0].title);
});
it('changes to selected actionItems title', () =>
selectItem(1).then(() => {
expect(findDropdown().props().text).toBe(mockActionItems[1].title);
}));
});
describe('emitted event', () => {
let eventHandler;
beforeEach(() => {
createComponent({ actionItems: mockActionItems });
});
const addEventHandler = ({ eventName }) => {
eventHandler = jest.fn();
wrapper.vm.$once(eventName, () => eventHandler());
};
it('defaults to first actionItems event', () => {
addEventHandler(mockActionItems[0]);
return clickToggleButton().then(() => {
expect(eventHandler).toHaveBeenCalled();
});
});
it('changes to selected actionItems event', () =>
selectItem(1)
.then(() => addEventHandler(mockActionItems[1]))
.then(clickToggleButton)
.then(() => {
expect(eventHandler).toHaveBeenCalled();
}));
});
});
......@@ -3,10 +3,9 @@
require 'spec_helper'
describe Gitlab::SidekiqMiddleware::Metrics do
describe '#call' do
let(:middleware) { described_class.new }
let(:worker) { double(:worker) }
let(:concurrency_metric) { double('concurrency metric') }
let(:completion_seconds_metric) { double('completion seconds metric') }
let(:user_execution_seconds_metric) { double('user execution seconds metric') }
let(:failed_total_metric) { double('failed total metric') }
......@@ -18,10 +17,23 @@ describe Gitlab::SidekiqMiddleware::Metrics do
allow(Gitlab::Metrics).to receive(:histogram).with(:sidekiq_jobs_cpu_seconds, anything, anything, anything).and_return(user_execution_seconds_metric)
allow(Gitlab::Metrics).to receive(:counter).with(:sidekiq_jobs_failed_total, anything).and_return(failed_total_metric)
allow(Gitlab::Metrics).to receive(:counter).with(:sidekiq_jobs_retried_total, anything).and_return(retried_total_metric)
allow(Gitlab::Metrics).to receive(:gauge).with(:sidekiq_running_jobs, anything, {}, :livesum).and_return(running_jobs_metric)
allow(Gitlab::Metrics).to receive(:gauge).with(:sidekiq_running_jobs, anything, {}, :all).and_return(running_jobs_metric)
allow(Gitlab::Metrics).to receive(:gauge).with(:sidekiq_concurrency, anything, {}, :all).and_return(concurrency_metric)
allow(running_jobs_metric).to receive(:increment)
allow(concurrency_metric).to receive(:set)
end
describe '#initialize' do
it 'sets general metrics' do
expect(concurrency_metric).to receive(:set).with({}, Sidekiq.options[:concurrency].to_i)
middleware
end
end
describe '#call' do
let(:worker) { double(:worker) }
it 'yields block' do
allow(completion_seconds_metric).to receive(:observe)
......@@ -30,7 +42,7 @@ describe Gitlab::SidekiqMiddleware::Metrics do
expect { |b| middleware.call(worker, {}, :test, &b) }.to yield_control.once
end
it 'sets metrics' do
it 'sets queue specific metrics' do
labels = { queue: :test }
allow(middleware).to receive(:get_thread_cputime).and_return(1, 3)
......
......@@ -18,8 +18,18 @@ describe Prometheus::PidProvider do
expect(Sidekiq).to receive(:server?).and_return(true)
end
context 'in a clustered setup' do
before do
stub_env('SIDEKIQ_WORKER_ID', '123')
end
it { is_expected.to eq 'sidekiq_123' }
end
context 'in a single process setup' do
it { is_expected.to eq 'sidekiq' }
end
end
context 'when running in Unicorn mode' do
before do
......
require 'spec_helper'
require Rails.root.join('db', 'post_migrate', '20191017045817_schedule_fix_gitlab_com_pages_access_level.rb')
describe ScheduleFixGitlabComPagesAccessLevel, :migration, :sidekiq, schema: 2019_10_16_072826 do
using RSpec::Parameterized::TableSyntax
let(:migration_name) { 'FixGitlabComPagesAccessLevel' }
ProjectClass = ::Gitlab::BackgroundMigration::FixGitlabComPagesAccessLevel::Project
FeatureClass = ::Gitlab::BackgroundMigration::FixGitlabComPagesAccessLevel::ProjectFeature
let(:namespaces_table) { table(:namespaces) }
let(:projects_table) { table(:projects) }
let(:features_table) { table(:project_features) }
let(:pages_metadata_table) { table(:project_pages_metadata) }
let(:subgroup) do
root_group = namespaces_table.create(path: "group", name: "group")
namespaces_table.create!(path: "subgroup", name: "group", parent_id: root_group.id)
end
before do
allow(::Gitlab).to receive(:com?).and_return true
end
describe 'scheduling migration' do
let!(:first_project) { create_project(ProjectClass::PRIVATE, FeatureClass::PRIVATE, false, false, 'first' ) }
let!(:last_project) { create_project(ProjectClass::PRIVATE, FeatureClass::PRIVATE, false, false, 'second' ) }
subject do
Sidekiq::Testing.fake! do
migrate!
end
end
it 'schedules background migrations' do
Timecop.freeze do
subject
expect(migration_name).to be_scheduled_delayed_migration(2.minutes, first_project.id, last_project.id)
expect(BackgroundMigrationWorker.jobs.size).to eq(1)
end
end
context 'not on gitlab.com' do
before do
allow(::Gitlab).to receive(:com?).and_return false
end
it 'does not schedule background migrations' do
Timecop.freeze do
subject
expect(BackgroundMigrationWorker.jobs.size).to eq(0)
end
end
end
end
where(:visibility_level, :pages_access_level,
:pages_deployed, :ac_is_enabled_in_config,
:result_pages_access_level) do
# Does not change anything if pages are not deployed
ProjectClass::PRIVATE | FeatureClass::DISABLED | false | false | FeatureClass::DISABLED
ProjectClass::PRIVATE | FeatureClass::PRIVATE | false | false | FeatureClass::PRIVATE
ProjectClass::PRIVATE | FeatureClass::ENABLED | false | false | FeatureClass::ENABLED
ProjectClass::PRIVATE | FeatureClass::PUBLIC | false | false | FeatureClass::PUBLIC
ProjectClass::INTERNAL | FeatureClass::DISABLED | false | false | FeatureClass::DISABLED
ProjectClass::INTERNAL | FeatureClass::PRIVATE | false | false | FeatureClass::PRIVATE
ProjectClass::INTERNAL | FeatureClass::ENABLED | false | false | FeatureClass::ENABLED
ProjectClass::INTERNAL | FeatureClass::PUBLIC | false | false | FeatureClass::PUBLIC
ProjectClass::PUBLIC | FeatureClass::DISABLED | false | false | FeatureClass::DISABLED
ProjectClass::PUBLIC | FeatureClass::PRIVATE | false | false | FeatureClass::PRIVATE
ProjectClass::PUBLIC | FeatureClass::ENABLED | false | false | FeatureClass::ENABLED
ProjectClass::PUBLIC | FeatureClass::PUBLIC | false | false | FeatureClass::PUBLIC
# Does not change anything if pages are already private in config.json
# many of these cases are invalid and will not occur in production
ProjectClass::PRIVATE | FeatureClass::DISABLED | true | true | FeatureClass::DISABLED
ProjectClass::PRIVATE | FeatureClass::PRIVATE | true | true | FeatureClass::PRIVATE
ProjectClass::PRIVATE | FeatureClass::ENABLED | true | true | FeatureClass::ENABLED
ProjectClass::PRIVATE | FeatureClass::PUBLIC | true | true | FeatureClass::PUBLIC
ProjectClass::INTERNAL | FeatureClass::DISABLED | true | true | FeatureClass::DISABLED
ProjectClass::INTERNAL | FeatureClass::PRIVATE | true | true | FeatureClass::PRIVATE
ProjectClass::INTERNAL | FeatureClass::ENABLED | true | true | FeatureClass::ENABLED
ProjectClass::INTERNAL | FeatureClass::PUBLIC | true | true | FeatureClass::PUBLIC
ProjectClass::PUBLIC | FeatureClass::DISABLED | true | true | FeatureClass::DISABLED
ProjectClass::PUBLIC | FeatureClass::PRIVATE | true | true | FeatureClass::PRIVATE
ProjectClass::PUBLIC | FeatureClass::ENABLED | true | true | FeatureClass::ENABLED
ProjectClass::PUBLIC | FeatureClass::PUBLIC | true | true | FeatureClass::PUBLIC
# when pages are deployed and ac is disabled in config
ProjectClass::PRIVATE | FeatureClass::DISABLED | true | false | FeatureClass::DISABLED
ProjectClass::PRIVATE | FeatureClass::PRIVATE | true | false | FeatureClass::PUBLIC # need to update
ProjectClass::PRIVATE | FeatureClass::ENABLED | true | false | FeatureClass::PUBLIC # invalid state, need to update
ProjectClass::PRIVATE | FeatureClass::PUBLIC | true | false | FeatureClass::PUBLIC
ProjectClass::INTERNAL | FeatureClass::DISABLED | true | false | FeatureClass::DISABLED
ProjectClass::INTERNAL | FeatureClass::PRIVATE | true | false | FeatureClass::PUBLIC # need to update
ProjectClass::INTERNAL | FeatureClass::ENABLED | true | false | FeatureClass::PUBLIC # invalid state, need to update
ProjectClass::INTERNAL | FeatureClass::PUBLIC | true | false | FeatureClass::PUBLIC
ProjectClass::PUBLIC | FeatureClass::DISABLED | true | false | FeatureClass::DISABLED
ProjectClass::PUBLIC | FeatureClass::PRIVATE | true | false | FeatureClass::ENABLED # need to update
ProjectClass::PUBLIC | FeatureClass::ENABLED | true | false | FeatureClass::ENABLED
ProjectClass::PUBLIC | FeatureClass::PUBLIC | true | false | FeatureClass::ENABLED # invalid state, need to update
end
with_them do
it 'fixes settings' do
perform_enqueued_jobs do
project = create_project(visibility_level, pages_access_level, pages_deployed, ac_is_enabled_in_config)
expect(features_table.find_by(project_id: project.id).pages_access_level).to eq(pages_access_level)
migrate!
expect(features_table.find_by(project_id: project.id).pages_access_level).to eq(result_pages_access_level)
end
end
end
def create_project(visibility_level, pages_access_level, pages_deployed, ac_is_enabled_in_config, path = 'project')
project = projects_table.create!(path: path, visibility_level: visibility_level,
namespace_id: subgroup.id)
pages_metadata_table.create!(project_id: project.id, deployed: pages_deployed)
if pages_deployed
FileUtils.mkdir_p(ProjectClass.find(project.id).public_pages_path)
# write config.json
allow(project).to receive(:public_pages?).and_return(!ac_is_enabled_in_config)
allow(project).to receive(:pages_domains).and_return([])
allow(project).to receive(:project_id).and_return(project.id)
allow(project).to receive(:pages_path).and_return(ProjectClass.find(project.id).pages_path)
Projects::UpdatePagesConfigurationService.new(project).execute
end
project.update!(visibility_level: visibility_level)
features_table.create!(project_id: project.id, pages_access_level: pages_access_level)
project
end
end
......@@ -2267,7 +2267,7 @@ describe MergeRequest do
allow(subject).to receive(:head_pipeline) { pipeline }
end
it { expect(subject.mergeable_ci_state?).to be_truthy }
it { expect(subject.mergeable_ci_state?).to be_falsey }
end
context 'when no pipeline is associated' do
......
......@@ -159,6 +159,45 @@ describe ChatMessage::PipelineMessage do
)
end
end
context 'when ref type is tag' do
before do
args[:object_attributes][:tag] = true
args[:object_attributes][:ref] = 'new_tag'
end
it "returns the pipeline summary in the activity's title" do
expect(subject.activity[:title]).to eq(
"Pipeline [#123](http://example.gitlab.com/pipelines/123)" \
" of tag [new_tag](http://example.gitlab.com/-/tags/new_tag)" \
" by The Hacker (hacker) passed"
)
end
it "returns the pipeline summary as the attachment's text property" do
expect(subject.attachments.first[:text]).to eq(
"<http://example.gitlab.com|project_name>:" \
" Pipeline <http://example.gitlab.com/pipelines/123|#123>" \
" of tag <http://example.gitlab.com/-/tags/new_tag|new_tag>" \
" by The Hacker (hacker) passed in 02:00:10"
)
end
context 'when rendering markdown' do
before do
args[:markdown] = true
end
it 'returns the pipeline summary as the attachments in markdown format' do
expect(subject.attachments).to eq(
"[project_name](http://example.gitlab.com):" \
" Pipeline [#123](http://example.gitlab.com/pipelines/123)" \
" of tag [new_tag](http://example.gitlab.com/-/tags/new_tag)" \
" by The Hacker (hacker) passed in 02:00:10"
)
end
end
end
end
context 'when the fancy_pipeline_slack_notifications feature flag is enabled' do
......
......@@ -96,7 +96,7 @@ describe ChatMessage::PushMessage do
context 'without markdown' do
it 'returns a message regarding pushes' do
expect(subject.pretext).to eq('test.user pushed new tag ' \
'<http://url.com/commits/new_tag|new_tag> to ' \
'<http://url.com/-/tags/new_tag|new_tag> to ' \
'<http://url.com|project_name>')
expect(subject.attachments).to be_empty
end
......@@ -109,10 +109,10 @@ describe ChatMessage::PushMessage do
it 'returns a message regarding pushes' do
expect(subject.pretext).to eq(
'test.user pushed new tag [new_tag](http://url.com/commits/new_tag) to [project_name](http://url.com)')
'test.user pushed new tag [new_tag](http://url.com/-/tags/new_tag) to [project_name](http://url.com)')
expect(subject.attachments).to be_empty
expect(subject.activity).to eq(
title: 'test.user pushed new tag [new_tag](http://url.com/commits/new_tag)',
title: 'test.user pushed new tag [new_tag](http://url.com/-/tags/new_tag)',
subtitle: 'in [project_name](http://url.com)',
text: '[Compare changes](http://url.com/compare/0000000000000000000000000000000000000000...after)',
image: 'http://someavatar.com'
......
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