diff options
307 files changed, 1191 insertions, 1258 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 7be28a9ac0e..256dd913435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,258 @@ documentation](doc/development/changelog.md) for instructions on adding your own entry. +## 11.2.1 (2018-08-22) + +### Fixed (2 changes) + +- Fix wrong commit count in push event payload. !21338 +- Fix broken Git over HTTP clones with LDAP users. !21352 + +### Performance (1 change) + +- Eliminate unnecessary and duplicate system hook fires. !21337 + + +## 11.2.0 (2018-08-22) + +### Security (5 changes) + +- Bump Gitaly to 0.117.1 for Rouge update. !21277 +- Fix symlink vulnerability in project import. +- Bump rugged to 0.27.4 for security fixes. +- Fixed XSS in branch name in Web IDE. +- Adding CSRF protection to Hooks test action. + +### Removed (1 change) + +- Remove gitlab:user:check_repos, gitlab:check_repo, gitlab:git:prune, gitlab:git:gc, and gitlab:git:repack. !20806 + +### Fixed (81 changes, 26 of them are from the community) + +- Fix namespace move callback behavior, especially to fix Geo replication of namespace moves during certain exceptions. !19297 +- Fix breadcrumbs in Admin/User interface. !19608 (Robin Naundorf) +- Remove changes_count from MR API documentation where necessary. !19745 (Jan Beckmann) +- Fix email confirmation bug when user adds additional email to account. !20084 (muhammadn) +- Add support for daylight savings time to pipleline schedules. !20145 +- Fixing milestone date change when editing. !20279 (Orlando Del Aguila) +- Add missing maximum_timeout parameter. !20355 (gfyoung) +- [Rails5] Fix 'Invalid single-table inheritance type: Group is not a subclass of Gitlab::BackgroundMigration::FixCrossProjectLabelLinks::Namespace'. !20462 (@blackst0ne) +- Rails5 fix mysql milliseconds problem in specs. !20464 (Jasper Maes) +- Update Gemfile.rails5.lock with latest Gemfile.lock changes. !20466 (Jasper Maes) +- Rails5 mysql fix milliseconds problem in pull request importer spec. !20475 (Jasper Maes) +- Rails5 MySQL fix rename_column as part of cleanup_concurrent_column_type_change. !20514 (Jasper Maes) +- Process commits as normal in forks when the upstream project is deleted. !20534 +- Fix project visibility tooltip. !20535 (Jamie Schembri) +- Fix archived parameter for projects API. !20566 (Peter Marko) +- Limit maximum project build timeout setting to 1 month. !20591 +- Fix GitLab project imports not loading due to API timeouts. !20599 +- Avoid process deadlock in popen by consuming input pipes. !20600 +- Disable SAML and Bitbucket if OmniAuth is disabled. !20608 +- Support multiple scopes when authing container registry scopes. !20617 +- Adds the ability to view group milestones on the dashboard milestone page. !20618 +- Allow issues API to receive an internal ID (iid) on create. !20626 (Jamie Schembri) +- Fix typo in CSS transform property for Memory Graph component. !20650 +- Update design for system metrics popovers. !20655 +- Toggle Show / Hide Button for Kubernetes Password. !20659 (gfyoung) +- Board label edit dropdown shows incorrect selected labels summary. !20673 +- Resolve "Unable to save user profile update with Safari". !20676 +- Escape username and password in UrlSanitizer#full_url. !20684 +- Remove background color from card-body style. !20689 (George Tsiolis) +- Update total storage size when changing size of artifacts. !20697 (Peter Marko) +- Rails5 fix user sees revert modal spec. !20706 (Jasper Maes) +- Fix Web IDE crashing on directories named 'blob'. !20712 +- Fix accessing imported pipeline builds. !20713 +- Fixed bug with invalid repository reference using the wiki search. !20722 +- Resolve Copy diff file path as GFM is broken. !20725 +- Chart versions for applications installed by one click install buttons should be version locked. !20765 +- Fix misalignment of broadcast message on login page. !20794 (Robin Naundorf) +- Fix Vue datatype errors for markdownVersion parsing. !20800 +- Fix authorization for interactive web terminals. !20811 +- Increase width of Web IDE sidebar resize handles. !20818 +- Fix new MR card styles. !20822 +- Fix link color in markdown code brackets. !20841 +- Rails5 update Gemfile.rails5.lock. !20858 (Jasper Maes) +- fix height of full-width Metrics charts on large screens. !20866 +- Fix sorting by name on milestones page. !20881 +- Permit concurrent loads in gpg keychain mutex. !20894 (Jasper Maes) +- Prevent editing and updating wiki pages with non UTF-8 encoding via web interface. !20906 +- Retrieve merge request closing issues from database cache. !20911 +- Fix LFS uploads not working with git-lfs 2.5.0. !20923 +- Fix bug setting http headers in Files API. !20938 +- Rails5: fix flaky spec. !20953 (Jasper Maes) +- Fixed list of projects not loading in group boards. !20955 +- Fix autosave and ESC confirmation issues for MR discussions. !20968 +- Fix navigation to First and Next discussion on MR Changes tab. !20968 +- Fix rendering of the context lines in MR diffs page. !20968 +- fix error caused when using the search bar while unauthenticated. !20970 +- Fix GPG status badge loading regressions. !20987 +- Ensure links in notifications footer are not escaped. !21000 +- Rails5: update Rails5 lock for forgotten gem rouge. !21010 (Jasper Maes) +- Fix UI error whereby prometheus application status is updated. !21029 +- Solves group dashboard line height is too tall for group names. !21033 +- Fix rendering of pipeline failure view when directly navigationg to it. !21043 +- Fix missing and duplicates on project milestone listing page. !21058 +- Fix merge requests not showing any diff files for big patches. !21125 +- Auto-DevOps.gitlab-ci.yml: Update glibc package signing key URL. !21182 (sgerrand) +- Fix issue stopping Instance Statistics javascript to be executed. !21211 +- Fix broken JavaScript in IE11. !21214 +- Improve JUnit test reports in merge request widgets. !49966 +- Properly handle colons in URL passwords. +- Renders test reports for resolved failures and resets error state. +- Fix handling of annotated tags when Gitaly is not in use. +- Fix serialization of LegacyDiffNote. +- Escapes milestone and label's names on flash notice when promoting them. +- Allow to toggle notifications for issues due soon. +- Sanitize git URL in import errors. (Jamie Schembri) +- Add missing predefined variable and fix docs. +- Allow updating a project's avatar without other params. (Jamie Schembri) +- Fix the UI for listing system-level labels. +- Update hamlit to fix ruby 2.5 incompatibilities, fixes #42045. (Matthew Dawson) +- Fix updated_at if created_at is set for Note API. +- Fix search bar text input alignment. + +### Changed (32 changes, 7 of them are from the community) + +- Rack attack is now disabled by default. !16669 +- Include full image URL in webhooks for uploaded images. !18109 (Satish Perala) +- Enable hashed storage for all newly created or renamed projects. !19747 +- Support manually stopping any environment from the UI. !20077 +- Close revert and cherry pick modal on escape keypress. !20341 (George Tsiolis) +- Adds with_projects optional parameter to GET /groups/:id API endpoint. !20494 +- Improve feedback when a developer is unable to push to an empty repository. !20519 +- Display GPG status on repository and blob pages. !20524 +- Updated design of new entry dropdown in Web IDE. !20526 +- UX improvements to top nav search bar. !20537 +- Update issue closing pattern. !20554 (George Tsiolis) +- Add merge request header branch actions left margin. !20643 (George Tsiolis) +- Rubix, scikit-learn, tensorflow & other useful libraries pre-installed with JupyterHub. !20714 (Amit Rathi) +- Show decimal place up to single digit in Stacked Progress Bar. !20776 +- Wrap job name on pipeline job sidebar. !20804 (George Tsiolis) +- Redesign Web IDE back button and context header. !20850 +- Removes "show all" on reports and adds an actionButtons slot. !20855 +- Put fallback reply-key address first in the References header. !20871 +- Allow non-admins to view instance statistics (if permitted by the instance admins). !20874 +- Adds the project and group name to the return type for project and group milestones. !20890 +- Restyle status message input on profile settings. !20903 +- Ensure installed Helm Tiller For GitLab Managed Apps Is protected by mutual auth. !20928 +- Allow multiple JIRA transition ids. !20939 +- Use Helm 2.7.2 for GitLab Managed Apps. !20956 +- Create branch and MR picker for Web IDE. !20978 +- Update commit message styles with monospace font and overflow-x. !20988 +- Update to Rouge 3.2.0, including Terraform and Crystal lexer and bug fixes. !20991 +- Update design of project templates. !21012 +- Update to Rouge 3.2.1, which includes a critical fix to the Perl Lexer. !21263 +- Add a 10 ms bucket for SQL timings. +- Show one digit after dot in commit_per_day value in charts page. (msdundar) +- Redesign GCP offer banner. + +### Performance (30 changes, 10 of them are from the community) + +- Stop dynamically creating project and namespace routes. !20313 +- Tracking the number of repositories and wikis with a cached counter for site-wide statistics. !20413 +- Optimize ProjectWiki#empty? check. !20573 +- Delete UserActivities and related workers. !20597 +- Enable frozen string in app/services/**/*.rb. !20656 (gfyoung) +- Enable more frozen string in app/services/**/*.rb. !20677 (gfyoung) +- Limit the TTL for anonymous sessions to 1 hour. !20700 +- Enable even more frozen string in app/services/**/*.rb. !20702 (gfyoung) +- Enable frozen string in app/serializers/**/*.rb. !20726 (gfyoung) +- Enable frozen string in newly added files to previously processed directories. !20763 (gfyoung) +- Use limit parameter to retrieve Wikis from Gitaly. !20764 +- Add Dangerfile for frozen_string_literal. !20767 (gfyoung) +- Remove method instrumentation for Banzai filters and reference parsers. !20770 +- Enable frozen strings in lib/banzai/filter/*.rb. !20775 +- Enable frozen strings in remaining lib/banzai/filter/*.rb files. !20777 +- DNS prefetching if asset_host for CDN hosting is set. !20781 +- Bump nokogiri to 1.8.4 and sanitize to 4.6.6 for performance. !20795 +- Enable frozen string in app/presenters and app/policies. !20819 (gfyoung) +- Bump haml gem to 5.0.4. !20847 +- Enable frozen string in app/models/*.rb. !20851 (gfyoung) +- Performing Commit GPG signature calculation in bulk. !20870 +- Fix /admin/jobs failing to load due to statement timeout. !20909 +- refactor pipeline job log animation to reduce CPU usage. !20915 +- Improve performance when fetching collapsed diffs and commenting in merge requests. !20940 +- Enable frozen string for app/models/**/*.rb. !21001 (gfyoung) +- Don't set gon variables in JSON requests. !21016 (Peter Leitzen) +- Improve performance and memory footprint of Changes tab of Merge Requests. !21028 +- Avoid N+1 on MRs page when metrics merging date cannot be found. !21053 +- Bump Gitaly to 0.117.0. !21055 +- Access metadata directly from Object Storage. + +### Added (41 changes, 18 of them are from the community) + +- Show repository languages for projects. !19480 +- Adds API endpoint /api/v4/(project/group)/:id/members/all to list also inherited members. !19748 (Jacopo Beschi @jacopo-beschi) +- Added live preview for JavaScript projects in the Web IDE. !19764 +- Add support for SSH certificate authentication. !19911 (Ævar Arnfjörð Bjarmason) +- Add Hangouts Chat integration. !20290 (Kukovskii Vladimir) +- Add ability to import multiple repositories by uploading a manifest file. !20304 +- Show Project ID on project home panel. !20305 (Tuğçe Nur Taş) +- Add an option to have a private profile on GitLab. !20387 (jxterry) +- Extend gitlab-ci.yml to request junit.xml test reports. !20390 +- Add the first mutations for merge requests to GraphQL. !20443 +- Add /-/health basic health check endpoint. !20456 +- Add filter for minimal access level in groups and projects API. !20478 (Marko, Peter) +- Add download button for single file (including raw files) in repository. !20480 (Kia Mei Somabes) +- Gitaly Servers link into Admin > Overview navigation menu. !20550 +- Adds foreign key to notification_settings.user_id. !20567 (Jacopo Beschi @jacopo-beschi) +- JUnit XML Test Summary In MR widget. !20576 +- Cleans up display of Deploy Tokens to match Personal Access Tokens. !20578 (Marcel Amirault) +- Users can set a status message and emoji. !20614 (niedermyer & davamr) +- Add emails delivery Prometheus metrics. !20638 +- Verify runner feature set. !20664 +- Add more comprehensive metrics tracking authentication activity. !20668 +- Add support for tar.gz AUTO_DEVOPS_CHART charts (#49324). !20691 (@kondi1) +- Adds Vuex store for reports section in MR widget. !20709 +- Redirect commits to root if no ref is provided (31576). !20738 (Kia Mei Somabes) +- Search for labels by title or description on project labels page. !20749 +- Add object storage logic to project import. !20773 +- Enable renaming files and folders in Web IDE. !20835 +- Warn user when reload IDE with staged changes. !20857 +- Add local project uploads cleanup task. !20863 +- Improve error message when adding invalid user to a project. !20885 (Jacopo Beschi @jacopo-beschi) +- Add link to homepage on static http status pages (404, 500, etc). !20898 (Jason Funk) +- Clean orphaned files in object storage. !20918 +- Adds frontend support to render test reports on the MR widget. !20936 +- Trigger system hooks when project is archived/unarchived. !20995 +- Custom Wiki Sidebar Support Issue 14995. (Josh Sooter) +- Emails on push recipients now accepts formats like John Doe <johndoe@example.com>. (George Thomas) +- Add new model for tracking label events. +- Improve danger confirmation modals by focusing input field. (Jamie Schembri) +- Clicking CI icon in Web IDE now opens up pipelines panel. +- Enabled deletion of files in the Web IDE. +- Added button to regenerate 2FA codes. (Luke Picciau) + +### Other (26 changes, 7 of them are from the community) + +- Update specific runners help URL. !20213 (George Tsiolis) +- Enable frozen string in apps/uploaders/*.rb. !20401 (gfyoung) +- Update docs of Helm Tiller. !20515 (Takuya Noguchi) +- Persist 'Auto DevOps' banner dismissal globally. !20540 +- Move xterm to a node dependency and remove it from vendor's folder. !20588 +- Upgrade grape-path-helpers to 1.0.6. !20601 +- Delete todos when user loses access to read the target. !20665 +- Remove tooltips from commit author avatar and name in commit lists. !20674 +- Allow cloning LFS repositories through DeployTokens. !20729 +- Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs'. !20768 (@blackst0ne) +- Replace author_link snake case in stylesheets, specs, and helpers. !20797 (George Tsiolis) +- Replace snake case in SCSS variables. !20799 (George Tsiolis) +- Add rbtrace to Gemfile. !20831 +- Add support for searching users by confirmed e-mails. !20893 +- Changes poll.js to keep polling on any 2xx http status code. !20904 +- Remove todos of users without access to targets migration. !20927 +- Improve and simplify Auto DevOps settings flow. !20946 +- Keep admin settings sections open after submitting forms. !21040 +- CE port of "List groups with developer maintainer access on project creation". !21051 +- Update git rerere link in docs. !21060 (gfyoung) +- Add 'tabindex' attribute support on Icon component to show BS4 popover on trigger type 'focus'. !21066 +- Add a Gitlab::Profiler.print_by_total_time convenience method for profiling from a Rails console. +- Automatically expand runner's settings block when linking to the runner's settings page. +- Increases title column on modal for reports. +- Disables toggle comments button if diff has no discussions. +- Moves help_popover component to a common location. + + ## 11.1.4 (2018-07-30) ### Fixed (4 changes, 1 of them is from the community) @@ -116,14 +116,14 @@ gem 'dropzonejs-rails', '~> 0.7.1' # for backups gem 'fog-aws', '~> 2.0.1' gem 'fog-core', '~> 1.44' -gem 'fog-google', '~> 1.3.3' +gem 'fog-google', '~> 1.7.1' gem 'fog-local', '~> 0.3' gem 'fog-openstack', '~> 0.1' gem 'fog-rackspace', '~> 0.1.1' gem 'fog-aliyun', '~> 0.2.0' # for Google storage -gem 'google-api-client', '~> 0.19.8' +gem 'google-api-client', '~> 0.23' # for aws storage gem 'unf', '~> 0.1.4' diff --git a/Gemfile.lock b/Gemfile.lock index 15a105579fb..77effb63d2e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -239,11 +239,11 @@ GEM builder excon (~> 0.58) formatador (~> 0.2) - fog-google (1.3.3) + fog-google (1.7.1) fog-core fog-json fog-xml - google-api-client (~> 0.19.1) + google-api-client (~> 0.23.0) fog-json (1.0.2) fog-core (~> 1.0) multi_json (~> 1.10) @@ -329,7 +329,7 @@ GEM actionpack (>= 3.0) multi_json request_store (>= 1.0) - google-api-client (0.19.8) + google-api-client (0.23.4) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.5, < 0.7.0) httpclient (>= 2.8.1, < 3.0) @@ -738,7 +738,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - retriable (3.1.1) + retriable (3.1.2) rinku (2.0.0) rotp (2.1.2) rouge (3.2.1) @@ -1031,7 +1031,7 @@ DEPENDENCIES fog-aliyun (~> 0.2.0) fog-aws (~> 2.0.1) fog-core (~> 1.44) - fog-google (~> 1.3.3) + fog-google (~> 1.7.1) fog-local (~> 0.3) fog-openstack (~> 0.1) fog-rackspace (~> 0.1.1) @@ -1051,7 +1051,7 @@ DEPENDENCIES gitlab-styles (~> 2.4) gitlab_omniauth-ldap (~> 2.0.4) gon (~> 6.2) - google-api-client (~> 0.19.8) + google-api-client (~> 0.23) google-protobuf (= 3.5.1) gpgme grape (~> 1.0) diff --git a/Gemfile.rails5.lock b/Gemfile.rails5.lock index 7803d12c6b4..f9ec29cde90 100644 --- a/Gemfile.rails5.lock +++ b/Gemfile.rails5.lock @@ -242,11 +242,11 @@ GEM builder excon (~> 0.58) formatador (~> 0.2) - fog-google (1.3.3) + fog-google (1.7.1) fog-core fog-json fog-xml - google-api-client (~> 0.19.1) + google-api-client (~> 0.23.0) fog-json (1.0.2) fog-core (~> 1.0) multi_json (~> 1.10) @@ -332,7 +332,7 @@ GEM actionpack (>= 3.0) multi_json request_store (>= 1.0) - google-api-client (0.19.8) + google-api-client (0.23.4) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.5, < 0.7.0) httpclient (>= 2.8.1, < 3.0) @@ -748,7 +748,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - retriable (3.1.1) + retriable (3.1.2) rinku (2.0.0) rotp (2.1.2) rouge (3.2.0) @@ -1043,7 +1043,7 @@ DEPENDENCIES fog-aliyun (~> 0.2.0) fog-aws (~> 2.0.1) fog-core (~> 1.44) - fog-google (~> 1.3.3) + fog-google (~> 1.7.1) fog-local (~> 0.3) fog-openstack (~> 0.1) fog-rackspace (~> 0.1.1) @@ -1063,7 +1063,7 @@ DEPENDENCIES gitlab-styles (~> 2.4) gitlab_omniauth-ldap (~> 2.0.4) gon (~> 6.2) - google-api-client (~> 0.19.8) + google-api-client (~> 0.23) google-protobuf (= 3.5.1) gpgme grape (~> 1.0) @@ -1 +1 @@ -11.2.0-pre +11.3.0-pre diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js index 25fe2ae553e..cd800d75f7a 100644 --- a/app/assets/javascripts/api.js +++ b/app/assets/javascripts/api.js @@ -15,6 +15,7 @@ const Api = { mergeRequestChangesPath: '/api/:version/projects/:id/merge_requests/:mrid/changes', mergeRequestVersionsPath: '/api/:version/projects/:id/merge_requests/:mrid/versions', groupLabelsPath: '/groups/:namespace_path/-/labels', + templatesPath: '/api/:version/templates/:key', licensePath: '/api/:version/templates/licenses/:key', gitignorePath: '/api/:version/templates/gitignores/:key', gitlabCiYmlPath: '/api/:version/templates/gitlab_ci_ymls/:key', @@ -265,6 +266,12 @@ const Api = { }); }, + templates(key, params = {}) { + const url = Api.buildUrl(this.templatesPath).replace(':key', key); + + return axios.get(url, { params }); + }, + buildUrl(url) { let urlRoot = ''; if (gon.relative_url_root != null) { diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/actions.js b/app/assets/javascripts/ide/stores/modules/file_templates/actions.js new file mode 100644 index 00000000000..43237a29466 --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/actions.js @@ -0,0 +1,82 @@ +import Api from '~/api'; +import { __ } from '~/locale'; +import * as types from './mutation_types'; + +export const requestTemplateTypes = ({ commit }) => commit(types.REQUEST_TEMPLATE_TYPES); +export const receiveTemplateTypesError = ({ commit, dispatch }) => { + commit(types.RECEIVE_TEMPLATE_TYPES_ERROR); + dispatch( + 'setErrorMessage', + { + text: __('Error loading template types.'), + action: () => + dispatch('fetchTemplateTypes').then(() => + dispatch('setErrorMessage', null, { root: true }), + ), + actionText: __('Please try again'), + }, + { root: true }, + ); +}; +export const receiveTemplateTypesSuccess = ({ commit }, templates) => + commit(types.RECEIVE_TEMPLATE_TYPES_SUCCESS, templates); + +export const fetchTemplateTypes = ({ dispatch, state }) => { + if (!Object.keys(state.selectedTemplateType).length) return Promise.reject(); + + dispatch('requestTemplateTypes'); + + return Api.templates(state.selectedTemplateType.key) + .then(({ data }) => dispatch('receiveTemplateTypesSuccess', data)) + .catch(() => dispatch('receiveTemplateTypesError')); +}; + +export const setSelectedTemplateType = ({ commit }, type) => + commit(types.SET_SELECTED_TEMPLATE_TYPE, type); + +export const receiveTemplateError = ({ dispatch }, template) => { + dispatch( + 'setErrorMessage', + { + text: __('Error loading template.'), + action: payload => + dispatch('fetchTemplateTypes', payload).then(() => + dispatch('setErrorMessage', null, { root: true }), + ), + actionText: __('Please try again'), + actionPayload: template, + }, + { root: true }, + ); +}; + +export const fetchTemplate = ({ dispatch, state }, template) => { + if (template.content) { + return dispatch('setFileTemplate', template); + } + + return Api.templates(`${state.selectedTemplateType.key}/${template.key || template.name}`) + .then(({ data }) => { + dispatch('setFileTemplate', data); + }) + .catch(() => dispatch('receiveTemplateError', template)); +}; + +export const setFileTemplate = ({ dispatch, commit, rootGetters }, template) => { + dispatch( + 'changeFileContent', + { path: rootGetters.activeFile.path, content: template.content }, + { root: true }, + ); + commit(types.SET_UPDATE_SUCCESS, true); +}; + +export const undoFileTemplate = ({ dispatch, commit, rootGetters }) => { + const file = rootGetters.activeFile; + + dispatch('changeFileContent', { path: file.path, content: file.raw }, { root: true }); + commit(types.SET_UPDATE_SUCCESS, false); +}; + +// prevent babel-plugin-rewire from generating an invalid default during karma tests +export default () => {}; diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/getters.js b/app/assets/javascripts/ide/stores/modules/file_templates/getters.js new file mode 100644 index 00000000000..38318fd49bf --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/getters.js @@ -0,0 +1,23 @@ +export const templateTypes = () => [ + { + name: '.gitlab-ci.yml', + key: 'gitlab_ci_ymls', + }, + { + name: '.gitignore', + key: 'gitignores', + }, + { + name: 'LICENSE', + key: 'licenses', + }, + { + name: 'Dockerfile', + key: 'dockerfiles', + }, +]; + +export const showFileTemplatesBar = (_, getters) => name => + getters.templateTypes.find(t => t.name === name); + +export default () => {}; diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/index.js b/app/assets/javascripts/ide/stores/modules/file_templates/index.js new file mode 100644 index 00000000000..dfa5ef54413 --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/index.js @@ -0,0 +1,12 @@ +import createState from './state'; +import * as actions from './actions'; +import * as getters from './getters'; +import mutations from './mutations'; + +export default { + namespaced: true, + actions, + state: createState(), + getters, + mutations, +}; diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js b/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js new file mode 100644 index 00000000000..cf4499c0264 --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/mutation_types.js @@ -0,0 +1,7 @@ +export const REQUEST_TEMPLATE_TYPES = 'REQUEST_TEMPLATE_TYPES'; +export const RECEIVE_TEMPLATE_TYPES_ERROR = 'RECEIVE_TEMPLATE_TYPES_ERROR'; +export const RECEIVE_TEMPLATE_TYPES_SUCCESS = 'RECEIVE_TEMPLATE_TYPES_SUCCESS'; + +export const SET_SELECTED_TEMPLATE_TYPE = 'SET_SELECTED_TEMPLATE_TYPE'; + +export const SET_UPDATE_SUCCESS = 'SET_UPDATE_SUCCESS'; diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js b/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js new file mode 100644 index 00000000000..e413e61eaaa --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/mutations.js @@ -0,0 +1,21 @@ +/* eslint-disable no-param-reassign */ +import * as types from './mutation_types'; + +export default { + [types.REQUEST_TEMPLATE_TYPES](state) { + state.isLoading = true; + }, + [types.RECEIVE_TEMPLATE_TYPES_ERROR](state) { + state.isLoading = false; + }, + [types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, templates) { + state.isLoading = false; + state.templates = templates; + }, + [types.SET_SELECTED_TEMPLATE_TYPE](state, type) { + state.selectedTemplateType = type; + }, + [types.SET_UPDATE_SUCCESS](state, success) { + state.updateSuccess = success; + }, +}; diff --git a/app/assets/javascripts/ide/stores/modules/file_templates/state.js b/app/assets/javascripts/ide/stores/modules/file_templates/state.js new file mode 100644 index 00000000000..bd4b7d7bc52 --- /dev/null +++ b/app/assets/javascripts/ide/stores/modules/file_templates/state.js @@ -0,0 +1,6 @@ +export default () => ({ + isLoading: false, + templates: [], + selectedTemplateType: {}, + updateSuccess: false, +}); diff --git a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue index 804822a3ea8..29b347824de 100644 --- a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue +++ b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue @@ -330,7 +330,7 @@ export default { <pipelines-artifacts-component v-if="pipeline.details.artifacts.length" :artifacts="pipeline.details.artifacts" - class="d-none d-sm-none d-md-block" + class="d-md-block" /> <loading-button diff --git a/app/assets/stylesheets/bootstrap_migration.scss b/app/assets/stylesheets/bootstrap_migration.scss index e8e707cf90c..c91f5e279ea 100644 --- a/app/assets/stylesheets/bootstrap_migration.scss +++ b/app/assets/stylesheets/bootstrap_migration.scss @@ -4,11 +4,11 @@ $text-color: $gl-text-color; -$brand-primary: $gl-primary; -$brand-success: $gl-success; -$brand-info: $gl-info; -$brand-warning: $gl-warning; -$brand-danger: $gl-danger; +$brand-primary: $blue-500; +$brand-success: $green-500; +$brand-info: $blue-500; +$brand-warning: $orange-500; +$brand-danger: $red-500; $border-radius-base: 3px !default; diff --git a/app/assets/stylesheets/framework/avatar.scss b/app/assets/stylesheets/framework/avatar.scss index 4c7c399a3ca..9dd0384a228 100644 --- a/app/assets/stylesheets/framework/avatar.scss +++ b/app/assets/stylesheets/framework/avatar.scss @@ -8,7 +8,7 @@ float: left; margin-right: 15px; border-radius: $avatar-radius; - border: 1px solid $avatar-border; + border: 1px solid $gray-normal; &.s16 { @include avatar-size(16px, 6px); } &.s18 { @include avatar-size(18px, 6px); } &.s19 { @include avatar-size(19px, 6px); } @@ -36,7 +36,7 @@ width: 40px; height: 40px; padding: 0; - background: $avatar-background; + background: $gray-lightest; overflow: hidden; &.avatar-inline { @@ -62,7 +62,7 @@ } &:not([href]):hover { - border-color: darken($avatar-border, 10%); + border-color: darken($gray-normal, 10%); } } @@ -70,7 +70,7 @@ text-align: center; vertical-align: top; color: $identicon-fg-color; - background-color: $identicon-gray; + background-color: $gray-darker; // Sizes &.s16 { font-size: 12px; line-height: 1.33; } @@ -94,7 +94,7 @@ &.bg4 { background-color: $identicon-blue; } &.bg5 { background-color: $identicon-teal; } &.bg6 { background-color: $identicon-orange; } - &.bg7 { background-color: $identicon-gray; } + &.bg7 { background-color: $gray-darker; } } .avatar-container { @@ -122,7 +122,7 @@ .avatar-counter { background-color: $gray-darkest; color: $white-light; - border: 1px solid $avatar-border; + border: 1px solid $gray-normal; border-radius: 1em; font-family: $regular-font; font-size: 9px; diff --git a/app/assets/stylesheets/framework/badges.scss b/app/assets/stylesheets/framework/badges.scss index 57df9b969c3..c6060161dec 100644 --- a/app/assets/stylesheets/framework/badges.scss +++ b/app/assets/stylesheets/framework/badges.scss @@ -1,6 +1,6 @@ .badge.badge-pill { font-weight: $gl-font-weight-normal; background-color: $badge-bg; - color: $badge-color; + color: $gl-text-color-secondary; vertical-align: baseline; } diff --git a/app/assets/stylesheets/framework/buttons.scss b/app/assets/stylesheets/framework/buttons.scss index 0dc7aa4ef68..72b4ed0ac33 100644 --- a/app/assets/stylesheets/framework/buttons.scss +++ b/app/assets/stylesheets/framework/buttons.scss @@ -452,14 +452,14 @@ } .btn-missing { - color: $notes-light-color; + color: $gl-text-color-secondary; border: 1px dashed $border-gray-normal-dashed; border-radius: $border-radius-default; &:hover, &:active, &:focus { - color: $notes-light-color; + color: $gl-text-color-secondary; background-color: $white-normal; } } diff --git a/app/assets/stylesheets/framework/common.scss b/app/assets/stylesheets/framework/common.scss index 79ca6e61e9a..7c5380a90f7 100644 --- a/app/assets/stylesheets/framework/common.scss +++ b/app/assets/stylesheets/framework/common.scss @@ -352,7 +352,7 @@ img.emoji { border-color: $border-color !important; .dz-upload { - background: $gl-success !important; + background: $green-500 !important; } } diff --git a/app/assets/stylesheets/framework/filters.scss b/app/assets/stylesheets/framework/filters.scss index 9b09ed0ed0a..abfe350677e 100644 --- a/app/assets/stylesheets/framework/filters.scss +++ b/app/assets/stylesheets/framework/filters.scss @@ -206,7 +206,7 @@ &.focus, &.focus:hover { border-color: $blue-300; - box-shadow: 0 0 4px $search-input-focus-shadow-color; + box-shadow: 0 0 4px $dropdown-input-focus-shadow; } gl-emoji { diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss index e7e13d35d8e..11a30d83f03 100644 --- a/app/assets/stylesheets/framework/header.scss +++ b/app/assets/stylesheets/framework/header.scss @@ -554,7 +554,7 @@ float: left; margin-right: 5px; border-radius: 50%; - border: 1px solid $avatar-border; + border: 1px solid $gray-normal; } .with-performance-bar .navbar-gitlab { diff --git a/app/assets/stylesheets/framework/icons.scss b/app/assets/stylesheets/framework/icons.scss index d1f7ff4438b..f002edced8a 100644 --- a/app/assets/stylesheets/framework/icons.scss +++ b/app/assets/stylesheets/framework/icons.scss @@ -11,7 +11,7 @@ .ci-status-icon-failed { svg { - fill: $gl-danger; + fill: $red-500; } &.add-border { diff --git a/app/assets/stylesheets/framework/issue_box.scss b/app/assets/stylesheets/framework/issue_box.scss index da5f80d9d37..2d672e62e08 100644 --- a/app/assets/stylesheets/framework/issue_box.scss +++ b/app/assets/stylesheets/framework/issue_box.scss @@ -26,12 +26,12 @@ &.status-box-closed, &.status-box-mr-closed { - background-color: $gl-danger; + background-color: $red-500; } &.status-box-issue-closed, &.status-box-mr-merged { - background-color: $gl-primary; + background-color: $blue-500; } &.status-box-open { diff --git a/app/assets/stylesheets/framework/variables.scss b/app/assets/stylesheets/framework/variables.scss index 96508a71bd8..3531ce31794 100644 --- a/app/assets/stylesheets/framework/variables.scss +++ b/app/assets/stylesheets/framework/variables.scss @@ -297,19 +297,9 @@ $tanuki-yellow: #fca326; /* * State colors: */ -$gl-primary: $blue-500; -$gl-success: $green-500; -$gl-success-focus: rgba($gl-success, 0.4); -$gl-info: $blue-500; -$gl-warning: $orange-500; -$gl-danger: $red-500; +$green-500-focus: rgba($green-500, 0.4); $gl-btn-active-background: rgba(0, 0, 0, 0.16); $gl-btn-active-gradient: inset 0 2px 3px $gl-btn-active-background; -// Bootstrap override states -$success: $gl-success; -$info: $gl-info; -$warning: $gl-warning; -$danger: $gl-danger; /* * Commit Diff Colors @@ -330,9 +320,9 @@ $dark-diff-match-bg: rgba(255, 255, 255, 0.3); $dark-diff-match-color: rgba(255, 255, 255, 0.1); $file-mode-changed: #777; $file-mode-changed: #777; -$diff-image-info-color: grey; +$diff-image-info-color: gray; $diff-swipe-border: #999; -$diff-view-modes-color: grey; +$diff-view-modes-color: gray; $diff-view-modes-border: #c1c1c1; $diff-jagged-border-gradient-color: darken($white-normal, 8%); @@ -372,7 +362,6 @@ $dropdown-member-form-control-width: 163px; * Filtered Search */ $filtered-search-term-shadow-color: rgba(0, 0, 0, 0.09); -$dropdown-hover-color: $blue-400; /* * Contextual Sidebar @@ -387,7 +376,7 @@ $sidebar-milestone-toggle-bottom-margin: 10px; * Buttons */ $btn-active-gray: #ececec; -$btn-active-gray-light: e4e7ed; +$btn-active-gray-light: #e4e7ed; $btn-white-active: #848484; $gl-btn-padding: 10px; $gl-btn-line-height: 16px; @@ -398,7 +387,6 @@ $gl-btn-horz-padding: 12px; * Badges */ $badge-bg: rgba(0, 0, 0, 0.07); -$badge-color: $gl-text-color-secondary; /* * Pagination @@ -406,21 +394,12 @@ $badge-color: $gl-text-color-secondary; $pagination-padding-y: 6px; $pagination-padding-x: 16px; $pagination-line-height: 20px; -$pagination-border-color: $border-color; -$pagination-active-bg: $blue-600; -$pagination-active-border-color: $blue-600; -$pagination-hover-bg: $blue-50; -$pagination-hover-border-color: $border-color; -$pagination-hover-color: $gl-text-color; $pagination-disabled-color: #cdcdcd; -$pagination-disabled-bg: $gray-light; -$pagination-disabled-border-color: $border-color; /* * Status icons */ $status-icon-size: 22px; -$status-icon-margin: $gl-btn-padding; /* * Award emoji @@ -433,16 +412,13 @@ $award-emoji-positive-add-lines: #bb9c13; * Search Box */ $search-input-border-color: rgba($blue-400, 0.8); -$search-input-focus-shadow-color: $dropdown-input-focus-shadow; $search-input-width: 240px; $search-input-active-width: 320px; -$location-badge-active-bg: $blue-500; $location-icon-color: #e7e9ed; /* * Notes */ -$notes-light-color: $gl-text-color-secondary; $note-disabled-comment-color: #b2b2b2; $note-targe3-outside: #fffff0; $note-targe3-inside: #ffffd3; @@ -463,7 +439,6 @@ $identicon-indigo: #e8eaf6; $identicon-blue: #e3f2fd; $identicon-teal: #e0f2f1; $identicon-orange: #fbe9e7; -$identicon-gray: $gray-darker; $identicon-fg-color: #555555; /* @@ -479,7 +454,6 @@ $calendar-user-contrib-text: #959494; $cycle-analytics-box-padding: 30px; $cycle-analytics-box-text-color: #8c8c8c; $cycle-analytics-big-font: 19px; -$cycle-analytics-dark-text: $gl-text-color; $cycle-analytics-light-gray: #bfbfbf; $cycle-analytics-dismiss-icon-color: #b2b2b2; @@ -507,9 +481,6 @@ $issue-board-list-difference-md: $issue-board-list-difference-sm + $issue-boards * Avatar */ $avatar-radius: 50%; -$avatar-border: $gray-normal; -$avatar-border-hover: $gray-darker; -$avatar-background: $gray-lightest; $gl-avatar-size: 40px; /* diff --git a/app/assets/stylesheets/framework/variables_overrides.scss b/app/assets/stylesheets/framework/variables_overrides.scss index b9c343fa2e9..7d90452e1f4 100644 --- a/app/assets/stylesheets/framework/variables_overrides.scss +++ b/app/assets/stylesheets/framework/variables_overrides.scss @@ -14,3 +14,7 @@ $btn-line-height: 20px; $table-accent-bg: $gray-light; $card-border-color: $border-color; $card-cap-bg: $gray-light; +$success: $green-500; +$info: $blue-500; +$warning: $orange-500; +$danger: $red-500; diff --git a/app/assets/stylesheets/pages/cycle_analytics.scss b/app/assets/stylesheets/pages/cycle_analytics.scss index bc4c90711d7..f0228768b5a 100644 --- a/app/assets/stylesheets/pages/cycle_analytics.scss +++ b/app/assets/stylesheets/pages/cycle_analytics.scss @@ -285,7 +285,7 @@ .total-time { font-size: $cycle-analytics-big-font; - color: $cycle-analytics-dark-text; + color: $gl-text-color; span { color: $gl-text-color; diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index 6f0f82964c8..9ac47a771a5 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -144,7 +144,7 @@ color: $blue-800; .avatar { - border-color: rgba($avatar-border, .2); + border-color: rgba($gray-normal, .2); } } @@ -231,7 +231,7 @@ } a.edit-link:not([href]):hover { - color: rgba($avatar-border, .2); + color: rgba($gray-normal, .2); } .lock-edit, // uses same style, different js behaviour diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss index d32943fceec..d2b9470be69 100644 --- a/app/assets/stylesheets/pages/labels.scss +++ b/app/assets/stylesheets/pages/labels.scss @@ -67,7 +67,7 @@ .dropdown-labels-error { padding: 5px 10px; margin-bottom: 10px; - background-color: $gl-danger; + background-color: $red-500; color: $white-light; } @@ -117,7 +117,7 @@ color: $blue-600; &.remove-row { - color: $gl-danger; + color: $red-500; } } } diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss index 621321101cd..5631d943984 100644 --- a/app/assets/stylesheets/pages/merge_requests.scss +++ b/app/assets/stylesheets/pages/merge_requests.scss @@ -200,7 +200,7 @@ .mr-widget-icon { font-size: 22px; - margin-right: $status-icon-margin; + margin-right: $gl-btn-padding; } .ci-status-icon svg { @@ -281,7 +281,7 @@ margin-bottom: 0; &.has-conflicts .fa-exclamation-triangle { - color: $gl-warning; + color: $orange-500; } time { @@ -313,7 +313,7 @@ } .danger { - color: $gl-danger; + color: $red-500; } .spacing, @@ -514,7 +514,7 @@ } .mr-links { - padding-left: $status-icon-size + $status-icon-margin; + padding-left: $status-icon-size + $gl-btn-padding; } .mr-info-list { diff --git a/app/assets/stylesheets/pages/note_form.scss b/app/assets/stylesheets/pages/note_form.scss index 4f861d43f55..ac7b701c2e2 100644 --- a/app/assets/stylesheets/pages/note_form.scss +++ b/app/assets/stylesheets/pages/note_form.scss @@ -74,13 +74,13 @@ } &.is-dropzone-hover { - border-color: $gl-success; + border-color: $green-500; box-shadow: 0 0 2px $black-transparent, - 0 0 4px $gl-success-focus; + 0 0 4px $green-500-focus; .comment-toolbar, .nav-links { - border-color: $gl-success; + border-color: $green-500; } } } diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss index 2e1b2126887..fce04c58c24 100644 --- a/app/assets/stylesheets/pages/notes.scss +++ b/app/assets/stylesheets/pages/notes.scss @@ -443,7 +443,7 @@ ul.notes { .note-headline-light, .discussion-headline-light { - color: $notes-light-color; + color: $gl-text-color-secondary; } .discussion-headline-light { diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss index c11916454c8..3154bcf5d0f 100644 --- a/app/assets/stylesheets/pages/projects.scss +++ b/app/assets/stylesheets/pages/projects.scss @@ -394,23 +394,23 @@ } .vs-public { - color: $gl-primary; + color: $blue-500; } .vs-internal { - color: $gl-warning; + color: $orange-500; } .vs-private { - color: $gl-success; + color: $green-500; } .lfs-enabled { - color: $gl-success; + color: $green-500; } .lfs-disabled { - color: $gl-warning; + color: $orange-500; } .breadcrumb.repo-breadcrumb { @@ -731,7 +731,7 @@ background-color: transparent; font-size: $gl-font-size; line-height: $gl-btn-line-height; - color: $notes-light-color; + color: $gl-text-color-secondary; } .stat-link { diff --git a/app/assets/stylesheets/pages/search.scss b/app/assets/stylesheets/pages/search.scss index 5b3a468cd1c..77119aea9e2 100644 --- a/app/assets/stylesheets/pages/search.scss +++ b/app/assets/stylesheets/pages/search.scss @@ -24,12 +24,12 @@ $search-avatar-size: 16px; .form-control:hover, :not[readonly] { border-color: lighten($blue-300, 20%); - box-shadow: 0 0 4px lighten($search-input-focus-shadow-color, 20%); + box-shadow: 0 0 4px lighten($dropdown-input-focus-shadow, 20%); } input[type='checkbox']:hover { - box-shadow: 0 0 2px 2px lighten($search-input-focus-shadow-color, 20%), - 0 0 0 1px lighten($search-input-focus-shadow-color, 20%); + box-shadow: 0 0 2px 2px lighten($dropdown-input-focus-shadow, 20%), + 0 0 0 1px lighten($dropdown-input-focus-shadow, 20%); } .search { @@ -181,7 +181,7 @@ input[type='checkbox']:hover { width: $search-avatar-size; height: $search-avatar-size; border-radius: 50%; - border: 1px solid $avatar-border; + border: 1px solid $gray-normal; } } diff --git a/app/assets/stylesheets/pages/settings.scss b/app/assets/stylesheets/pages/settings.scss index 5aa4cdec9c3..e351dd7c0bb 100644 --- a/app/assets/stylesheets/pages/settings.scss +++ b/app/assets/stylesheets/pages/settings.scss @@ -120,11 +120,11 @@ } .warning-title { - color: $gl-warning; + color: $orange-500; } .danger-title { - color: $gl-danger; + color: $red-500; } .integration-settings-form { diff --git a/app/controllers/projects/commit_controller.rb b/app/controllers/projects/commit_controller.rb index 44b176d304e..53637780a07 100644 --- a/app/controllers/projects/commit_controller.rb +++ b/app/controllers/projects/commit_controller.rb @@ -101,7 +101,7 @@ class Projects::CommitController < Projects::ApplicationController @branch_name = create_new_branch? ? @commit.cherry_pick_branch_name : @start_branch - create_commit(Commits::CherryPickService, success_notice: "The #{@commit.change_type_title(current_user)} has been successfully cherry-picked.", + create_commit(Commits::CherryPickService, success_notice: "The #{@commit.change_type_title(current_user)} has been successfully cherry-picked into #{@branch_name}.", success_path: -> { successful_change_path }, failure_path: failed_change_path) end diff --git a/app/models/commit.rb b/app/models/commit.rb index 27fbdc3e386..594972ad344 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -193,6 +193,7 @@ class Commit # otherwise returns commit message without first line def description return safe_message if full_title.length >= 100 + return no_commit_message if safe_message.blank? safe_message.split("\n", 2)[1].try(:chomp) end diff --git a/app/models/member.rb b/app/models/member.rb index 05c0bc8cb97..d9b4e8d2ac6 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -103,7 +103,7 @@ class Member < ActiveRecord::Base def filter_by_2fa(value) case value when 'enabled' - left_join_users.merge(User.with_two_factor_indistinct) + left_join_users.merge(User.with_two_factor) when 'disabled' left_join_users.merge(User.without_two_factor) else diff --git a/app/models/user.rb b/app/models/user.rb index a6ba90794d6..f21ca1c569f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -289,13 +289,16 @@ class User < ActiveRecord::Base end end - def self.with_two_factor_indistinct - joins("LEFT OUTER JOIN u2f_registrations AS u2f ON u2f.user_id = users.id") - .where("u2f.id IS NOT NULL OR users.otp_required_for_login = ?", true) - end - def self.with_two_factor - with_two_factor_indistinct.distinct(arel_table[:id]) + with_u2f_registrations = <<-SQL + EXISTS ( + SELECT * + FROM u2f_registrations AS u2f + WHERE u2f.user_id = users.id + ) OR users.otp_required_for_login = ? + SQL + + where(with_u2f_registrations, true) end def self.without_two_factor diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 637c1df4ad9..26e90e8cf8c 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -140,7 +140,6 @@ class GitPushService < BaseService EventCreateService.new.push(project, current_user, build_push_data) Ci::CreatePipelineService.new(project, current_user, build_push_data).execute(:push) - SystemHookPushWorker.perform_async(build_push_data.dup, :push_hooks) project.execute_hooks(build_push_data.dup, :push_hooks) project.execute_services(build_push_data.dup, :push_hooks) @@ -159,7 +158,7 @@ class GitPushService < BaseService end def process_default_branch - offset = [push_commits_count - PROCESS_COMMIT_LIMIT, 0].max + offset = [push_commits_count_for_ref - PROCESS_COMMIT_LIMIT, 0].max @push_commits = project.repository.commits(params[:newrev], offset: offset, limit: PROCESS_COMMIT_LIMIT) project.after_create_default_branch @@ -173,7 +172,7 @@ class GitPushService < BaseService params[:newrev], params[:ref], @push_commits, - commits_count: push_commits_count) + commits_count: commits_count) end def push_to_existing_branch? @@ -214,8 +213,14 @@ class GitPushService < BaseService end end - def push_commits_count - strong_memoize(:push_commits_count) do + def commits_count + return push_commits_count_for_ref if default_branch? && push_to_new_branch? + + Array(@push_commits).size + end + + def push_commits_count_for_ref + strong_memoize(:push_commits_count_for_ref) do project.repository.commit_count_for_ref(params[:ref]) end end diff --git a/changelogs/unreleased/1756-set-iid-via-api.yml b/changelogs/unreleased/1756-set-iid-via-api.yml deleted file mode 100644 index 680a9464ab4..00000000000 --- a/changelogs/unreleased/1756-set-iid-via-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow issues API to receive an internal ID (iid) on create -merge_request: 20626 -author: Jamie Schembri -type: fixed diff --git a/changelogs/unreleased/21326-avoid-nil-safe-message.yml b/changelogs/unreleased/21326-avoid-nil-safe-message.yml new file mode 100644 index 00000000000..ca1a89191a8 --- /dev/null +++ b/changelogs/unreleased/21326-avoid-nil-safe-message.yml @@ -0,0 +1,5 @@ +--- +title: "Avoid nil safe message" +merge_request: 21326 +author: Yi Siliang +type: fixed diff --git a/changelogs/unreleased/23705-add-single-file-download-in-repo.yml b/changelogs/unreleased/23705-add-single-file-download-in-repo.yml deleted file mode 100644 index f156bfb1101..00000000000 --- a/changelogs/unreleased/23705-add-single-file-download-in-repo.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add download button for single file (including raw files) in repository -merge_request: 20480 -author: Kia Mei Somabes -type: added diff --git a/changelogs/unreleased/25990-improve-web-terminal.yml b/changelogs/unreleased/25990-improve-web-terminal.yml deleted file mode 100644 index 3f8a8c6211c..00000000000 --- a/changelogs/unreleased/25990-improve-web-terminal.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Move xterm to a node dependency and remove it from vendor's folder -merge_request: 20588 -author: -type: other diff --git a/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml b/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml deleted file mode 100644 index 0a2853c20c6..00000000000 --- a/changelogs/unreleased/25990-interactive-web-terminals-authorization.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix authorization for interactive web terminals -merge_request: 20811 -author: -type: fixed diff --git a/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml b/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml deleted file mode 100644 index 55d82c4ee5d..00000000000 --- a/changelogs/unreleased/27456-improve-feedback-when-dev-cannot-push-to-empty-repo.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve feedback when a developer is unable to push to an empty repository -merge_request: 20519 -author: -type: changed diff --git a/changelogs/unreleased/29278-commits-page-tooltips.yml b/changelogs/unreleased/29278-commits-page-tooltips.yml deleted file mode 100644 index d54301a1cf0..00000000000 --- a/changelogs/unreleased/29278-commits-page-tooltips.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove tooltips from commit author avatar and name in commit lists -merge_request: 20674 -author: -type: other diff --git a/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml b/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml deleted file mode 100644 index 21d9d25d342..00000000000 --- a/changelogs/unreleased/31576-redirect-commits-to-root-if-no-ref.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Redirect commits to root if no ref is provided (31576) -merge_request: 20738 -author: Kia Mei Somabes -type: added diff --git a/changelogs/unreleased/32783-api-all-members-with-ancestors.yml b/changelogs/unreleased/32783-api-all-members-with-ancestors.yml deleted file mode 100644 index ca53d02845d..00000000000 --- a/changelogs/unreleased/32783-api-all-members-with-ancestors.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Adds API endpoint /api/v4/(project/group)/:id/members/all to list also inherited - members -merge_request: 19748 -author: Jacopo Beschi @jacopo-beschi -type: added diff --git a/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml b/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml deleted file mode 100644 index 587d7209c2f..00000000000 --- a/changelogs/unreleased/32821-better-error-message-add-invalid-user-to-project.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve error message when adding invalid user to a project -merge_request: 20885 -author: Jacopo Beschi @jacopo-beschi -type: added diff --git a/changelogs/unreleased/34572-ssh-certificates.yml b/changelogs/unreleased/34572-ssh-certificates.yml deleted file mode 100644 index 76a08a188de..00000000000 --- a/changelogs/unreleased/34572-ssh-certificates.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add support for SSH certificate authentication -merge_request: 19911 -author: Ævar Arnfjörð Bjarmason -type: added diff --git a/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml b/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml deleted file mode 100644 index e1e5c8db046..00000000000 --- a/changelogs/unreleased/35952-keep-admin-settings-open-after-submit.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Keep admin settings sections open after submitting forms -merge_request: 21040 -author: -type: other diff --git a/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml b/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml deleted file mode 100644 index efa13c9ab3c..00000000000 --- a/changelogs/unreleased/36409-frontend-for-clarifying-the-usefulness-of-the-search-bar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: UX improvements to top nav search bar -merge_request: 20537 -author: -type: changed diff --git a/changelogs/unreleased/38604-add-private-profile.yml b/changelogs/unreleased/38604-add-private-profile.yml deleted file mode 100644 index e40e7d9321e..00000000000 --- a/changelogs/unreleased/38604-add-private-profile.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add an option to have a private profile on GitLab. -merge_request: 20387 -author: jxterry -type: added diff --git a/changelogs/unreleased/40973-disable-rack-attack-by-default.yml b/changelogs/unreleased/40973-disable-rack-attack-by-default.yml deleted file mode 100644 index 681aa761e2a..00000000000 --- a/changelogs/unreleased/40973-disable-rack-attack-by-default.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rack attack is now disabled by default -merge_request: 16669 -author: -type: changed diff --git a/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml b/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml deleted file mode 100644 index b980b719d68..00000000000 --- a/changelogs/unreleased/41416-making-instance-wide-data-tools-more-accessible.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow non-admins to view instance statistics (if permitted by the instance admins) -merge_request: 20874 -author: -type: changed diff --git a/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml b/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml new file mode 100644 index 00000000000..c23676a3104 --- /dev/null +++ b/changelogs/unreleased/41441-add-target-branch-name-to-cherrypick-confirmation.yml @@ -0,0 +1,5 @@ +--- +title: Add target branch name to cherrypick confirmation message +merge_request: 20846 +author: George Andrinopoulos +type: other diff --git a/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml b/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml deleted file mode 100644 index c6a0dc4f129..00000000000 --- a/changelogs/unreleased/41671-fixing-milestone-date-change-when-editing.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Fixing milestone date change when editing" -merge_request: 20279 -author: Orlando Del Aguila -type: fixed
\ No newline at end of file diff --git a/changelogs/unreleased/41784-monitoring-graph-popovers.yml b/changelogs/unreleased/41784-monitoring-graph-popovers.yml deleted file mode 100644 index 757445d7e0c..00000000000 --- a/changelogs/unreleased/41784-monitoring-graph-popovers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update design for system metrics popovers -merge_request: 20655 -author: -type: fixed diff --git a/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml b/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml deleted file mode 100644 index cabe5216045..00000000000 --- a/changelogs/unreleased/42415-omit-projects-from-get-group-endpoint.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds with_projects optional parameter to GET /groups/:id API endpoint -merge_request: 20494 -author: -type: changed diff --git a/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml b/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml deleted file mode 100644 index b60aeba860a..00000000000 --- a/changelogs/unreleased/43011-typecast-markdownversion-prop-notesapp.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix Vue datatype errors for markdownVersion parsing -merge_request: 20800 -author: -type: fixed diff --git a/changelogs/unreleased/43312-remove_user_activity_workers.yml b/changelogs/unreleased/43312-remove_user_activity_workers.yml deleted file mode 100644 index 6dfd018e350..00000000000 --- a/changelogs/unreleased/43312-remove_user_activity_workers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Delete UserActivities and related workers -merge_request: 20597 -author: -type: performance diff --git a/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml b/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml deleted file mode 100644 index de991ef475a..00000000000 --- a/changelogs/unreleased/44127-board-label-edit-drop-down-is-showing-incorrect-selected-labels-summary.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Board label edit dropdown shows incorrect selected labels summary -merge_request: 20673 -author: -type: fixed diff --git a/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml b/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml deleted file mode 100644 index ddc878ee710..00000000000 --- a/changelogs/unreleased/44824-remove-ghost-notification-settings-for-group-and-project.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds foreign key to notification_settings.user_id -merge_request: 20567 -author: Jacopo Beschi @jacopo-beschi -type: added diff --git a/changelogs/unreleased/45318-junit-FE.yml b/changelogs/unreleased/45318-junit-FE.yml deleted file mode 100644 index bbc08f54484..00000000000 --- a/changelogs/unreleased/45318-junit-FE.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds frontend support to render test reports on the MR widget -merge_request: 20936 -author: -type: added diff --git a/changelogs/unreleased/45318-vuex-store.yml b/changelogs/unreleased/45318-vuex-store.yml deleted file mode 100644 index 5ea89034bce..00000000000 --- a/changelogs/unreleased/45318-vuex-store.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds Vuex store for reports section in MR widget -merge_request: 20709 -author: -type: added diff --git a/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml b/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml deleted file mode 100644 index b18f7aec546..00000000000 --- a/changelogs/unreleased/45443-unable-to-save-user-profile-update-with-safari.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Resolve "Unable to save user profile update with Safari" -merge_request: 20676 -author: -type: fixed diff --git a/changelogs/unreleased/46165-web-ide-branch-picker.yml b/changelogs/unreleased/46165-web-ide-branch-picker.yml deleted file mode 100644 index ff879cb3d37..00000000000 --- a/changelogs/unreleased/46165-web-ide-branch-picker.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Create branch and MR picker for Web IDE -merge_request: 20978 -author: -type: changed diff --git a/changelogs/unreleased/46535-orphaned-uploads.yml b/changelogs/unreleased/46535-orphaned-uploads.yml deleted file mode 100644 index 1cd087a6aad..00000000000 --- a/changelogs/unreleased/46535-orphaned-uploads.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Clean orphaned files in object storage -merge_request: 20918 -author: -type: added diff --git a/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml b/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml deleted file mode 100644 index 5b91c6d5a9f..00000000000 --- a/changelogs/unreleased/46703-group-dashboard-line-height-is-too-tall-for-group-names.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Solves group dashboard line height is too tall for group names. -merge_request: 21033 -author: -type: fixed diff --git a/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml b/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml deleted file mode 100644 index d490df58144..00000000000 --- a/changelogs/unreleased/46869-deploy-tokens-failed-to-clone-lfs-repository.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow cloning LFS repositories through DeployTokens -merge_request: 20729 -author: -type: other diff --git a/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml b/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml deleted file mode 100644 index d95714a5267..00000000000 --- a/changelogs/unreleased/46930-fix-updated_at-if-created_at-is-set-note-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix updated_at if created_at is set for Note API -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml b/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml deleted file mode 100644 index 71e523e6de8..00000000000 --- a/changelogs/unreleased/46940-hashed-storage-extend-enable-hashed-storage-for-all-new-projects-to-for-all-new-and-renamed-projects.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable hashed storage for all newly created or renamed projects -merge_request: 19747 -author: -type: changed diff --git a/changelogs/unreleased/47156-improve-auto-devops-settings.yml b/changelogs/unreleased/47156-improve-auto-devops-settings.yml deleted file mode 100644 index d8993565047..00000000000 --- a/changelogs/unreleased/47156-improve-auto-devops-settings.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve and simplify Auto DevOps settings flow -merge_request: 20946 -author: -type: other diff --git a/changelogs/unreleased/47419-Fix-breadcrumbs.yml b/changelogs/unreleased/47419-Fix-breadcrumbs.yml deleted file mode 100644 index 1a7f8196683..00000000000 --- a/changelogs/unreleased/47419-Fix-breadcrumbs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix breadcrumbs in Admin/User interface. -merge_request: 19608 -author: Robin Naundorf -type: fixed diff --git a/changelogs/unreleased/47548-monospace-commit-messages.yml b/changelogs/unreleased/47548-monospace-commit-messages.yml deleted file mode 100644 index 7344f72207b..00000000000 --- a/changelogs/unreleased/47548-monospace-commit-messages.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update commit message styles with monospace font and overflow-x -merge_request: 20988 -author: -type: changed diff --git a/changelogs/unreleased/47728-mr-api-documentation-changes.yml b/changelogs/unreleased/47728-mr-api-documentation-changes.yml deleted file mode 100644 index 12720f280a1..00000000000 --- a/changelogs/unreleased/47728-mr-api-documentation-changes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove changes_count from MR API documentation where necessary -merge_request: 19745 -author: Jan Beckmann -type: fixed diff --git a/changelogs/unreleased/47768-web-ide-redesign-header.yml b/changelogs/unreleased/47768-web-ide-redesign-header.yml deleted file mode 100644 index 49133158164..00000000000 --- a/changelogs/unreleased/47768-web-ide-redesign-header.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Redesign Web IDE back button and context header -merge_request: 20850 -author: -type: changed diff --git a/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml b/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml deleted file mode 100644 index 6ff209b5181..00000000000 --- a/changelogs/unreleased/48036-fix-web-ide-blob-crash.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix Web IDE crashing on directories named 'blob' -merge_request: 20712 -author: -type: fixed diff --git a/changelogs/unreleased/48055-web-ide-resize-handles.yml b/changelogs/unreleased/48055-web-ide-resize-handles.yml deleted file mode 100644 index 0f650cdda6f..00000000000 --- a/changelogs/unreleased/48055-web-ide-resize-handles.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Increase width of Web IDE sidebar resize handles -merge_request: 20818 -author: -type: fixed diff --git a/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml b/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml deleted file mode 100644 index 43125ef25c4..00000000000 --- a/changelogs/unreleased/48098-mutual-auth-cluster-applications.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Ensure installed Helm Tiller For GitLab Managed Apps Is protected by mutual - auth -merge_request: 20928 -author: -type: changed diff --git a/changelogs/unreleased/48246-osw-load-diffs-improvement.yml b/changelogs/unreleased/48246-osw-load-diffs-improvement.yml deleted file mode 100644 index c4292ab0d29..00000000000 --- a/changelogs/unreleased/48246-osw-load-diffs-improvement.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve performance when fetching collapsed diffs and commenting in merge requests -merge_request: 20940 -author: -type: performance diff --git a/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml b/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml deleted file mode 100644 index b3ccbb121f0..00000000000 --- a/changelogs/unreleased/48419-charts-with-long-label-appear-oversized.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: fix height of full-width Metrics charts on large screens -merge_request: 20866 -author: -type: fixed diff --git a/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml b/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml deleted file mode 100644 index c34750a3b88..00000000000 --- a/changelogs/unreleased/48456-fix-system-level-labels-admin-ui.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix the UI for listing system-level labels -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/48537-update-avatar-only-via-api.yml b/changelogs/unreleased/48537-update-avatar-only-via-api.yml deleted file mode 100644 index 9b3ab946cc1..00000000000 --- a/changelogs/unreleased/48537-update-avatar-only-via-api.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow updating a project's avatar without other params -merge_request: -author: Jamie Schembri -type: fixed diff --git a/changelogs/unreleased/48542-code-link.yml b/changelogs/unreleased/48542-code-link.yml deleted file mode 100644 index 8d8d9bf8d74..00000000000 --- a/changelogs/unreleased/48542-code-link.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix link color in markdown code brackets -merge_request: 20841 -author: -type: fixed diff --git a/changelogs/unreleased/48617-promoting-milestone.yml b/changelogs/unreleased/48617-promoting-milestone.yml deleted file mode 100644 index 7fbc15051cf..00000000000 --- a/changelogs/unreleased/48617-promoting-milestone.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Escapes milestone and label's names on flash notice when promoting them -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/48636-new-mr-card-styles.yml b/changelogs/unreleased/48636-new-mr-card-styles.yml deleted file mode 100644 index 94f62e677fb..00000000000 --- a/changelogs/unreleased/48636-new-mr-card-styles.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix new MR card styles -merge_request: 20822 -author: -type: fixed diff --git a/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml b/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml deleted file mode 100644 index 7ee018ef679..00000000000 --- a/changelogs/unreleased/48657-persist-auto-devops-banner-dismissal-per-user-cookie.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Persist 'Auto DevOps' banner dismissal globally -merge_request: 20540 -author: -type: other diff --git a/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml b/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml deleted file mode 100644 index f298380b920..00000000000 --- a/changelogs/unreleased/48773-gitlab-project-import-should-use-object-storage.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add object storage logic to project import -merge_request: 20773 -author: -type: added diff --git a/changelogs/unreleased/48804-redesign-gcp-banner.yml b/changelogs/unreleased/48804-redesign-gcp-banner.yml deleted file mode 100644 index 729f959badc..00000000000 --- a/changelogs/unreleased/48804-redesign-gcp-banner.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Redesign GCP offer banner -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/48823-copy-gfm.yml b/changelogs/unreleased/48823-copy-gfm.yml deleted file mode 100644 index b6137e2e3f9..00000000000 --- a/changelogs/unreleased/48823-copy-gfm.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Resolve Copy diff file path as GFM is broken -merge_request: 20725 -author: -type: fixed diff --git a/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml b/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml deleted file mode 100644 index d79b95411aa..00000000000 --- a/changelogs/unreleased/48834-chart-versions-for-applications-installed-by-one-click-install-buttons-should-be-version-locked.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Chart versions for applications installed by one click install buttons should - be version locked -merge_request: 20765 -author: -type: fixed diff --git a/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml b/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml deleted file mode 100644 index 0466debea65..00000000000 --- a/changelogs/unreleased/48932-disable-saml-if-omniauth-is-disabled.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Disable SAML and Bitbucket if OmniAuth is disabled -merge_request: 20608 -author: -type: fixed diff --git a/changelogs/unreleased/48934.yml b/changelogs/unreleased/48934.yml deleted file mode 100644 index 8e2e53ed198..00000000000 --- a/changelogs/unreleased/48934.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve danger confirmation modals by focusing input field -merge_request: -author: Jamie Schembri -type: added diff --git a/changelogs/unreleased/48976-fix-sti-background-migration.yml b/changelogs/unreleased/48976-fix-sti-background-migration.yml deleted file mode 100644 index e95536b213c..00000000000 --- a/changelogs/unreleased/48976-fix-sti-background-migration.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "[Rails5] Fix 'Invalid single-table inheritance type: Group is not a subclass - of Gitlab::BackgroundMigration::FixCrossProjectLabelLinks::Namespace'" -merge_request: 20462 -author: "@blackst0ne" -type: fixed diff --git a/changelogs/unreleased/49025-docs-kubernetes-tiller.yml b/changelogs/unreleased/49025-docs-kubernetes-tiller.yml deleted file mode 100644 index c4f01490cfa..00000000000 --- a/changelogs/unreleased/49025-docs-kubernetes-tiller.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update docs of Helm Tiller -merge_request: 20515 -author: Takuya Noguchi -type: other diff --git a/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml b/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml deleted file mode 100644 index 541b562adac..00000000000 --- a/changelogs/unreleased/49107-prefetching-of-assets-and-cdn-domain.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: DNS prefetching if asset_host for CDN hosting is set -merge_request: 20781 -author: -type: performance diff --git a/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml b/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml deleted file mode 100644 index ab320450a1a..00000000000 --- a/changelogs/unreleased/49114-add-gitaly-servers-to-admin-overview-navigation-menu.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Gitaly Servers link into Admin > Overview navigation menu -merge_request: 20550 -author: -type: added diff --git a/changelogs/unreleased/49161-disable-toggle-comments.yml b/changelogs/unreleased/49161-disable-toggle-comments.yml deleted file mode 100644 index 5ec16191f07..00000000000 --- a/changelogs/unreleased/49161-disable-toggle-comments.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Disables toggle comments button if diff has no discussions -merge_request: -author: -type: other diff --git a/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml b/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml deleted file mode 100644 index c757e55f1cd..00000000000 --- a/changelogs/unreleased/49272-sanitize-git-url-in-import-errors.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Sanitize git URL in import errors -merge_request: -author: Jamie Schembri -type: fixed diff --git a/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml b/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml deleted file mode 100644 index f21bd454e84..00000000000 --- a/changelogs/unreleased/49291-fix-memory-graph-component-typo.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix typo in CSS transform property for Memory Graph component -merge_request: 20650 -author: -type: fixed diff --git a/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml b/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml deleted file mode 100644 index a87eef3f7f3..00000000000 --- a/changelogs/unreleased/49324-add-support-for-tar-gz-autodevops-charts.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add support for tar.gz AUTO_DEVOPS_CHART charts (#49324) -merge_request: 20691 -author: '@kondi1' -type: added diff --git a/changelogs/unreleased/49364-fix-broadcast-margin.yml b/changelogs/unreleased/49364-fix-broadcast-margin.yml deleted file mode 100644 index 821fb9df1af..00000000000 --- a/changelogs/unreleased/49364-fix-broadcast-margin.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix misalignment of broadcast message on login page -merge_request: 20794 -author: Robin Naundorf -type: fixed diff --git a/changelogs/unreleased/49375-move-help-popover.yml b/changelogs/unreleased/49375-move-help-popover.yml deleted file mode 100644 index 2547d5768bf..00000000000 --- a/changelogs/unreleased/49375-move-help-popover.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Moves help_popover component to a common location -merge_request: -author: -type: other diff --git a/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml b/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml deleted file mode 100644 index 043698269e2..00000000000 --- a/changelogs/unreleased/49499-list-of-projects-not-loading-when-trying-to-create-an-issue-from-a-board-typeerror.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixed list of projects not loading in group boards -merge_request: 20955 -author: -type: fixed diff --git a/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml b/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml deleted file mode 100644 index 7eb73110d60..00000000000 --- a/changelogs/unreleased/49701-sorting-by-name-on-milestones-page-error.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix sorting by name on milestones page -merge_request: 20881 -author: -type: fixed diff --git a/changelogs/unreleased/49747-update-poll-2xx.yml b/changelogs/unreleased/49747-update-poll-2xx.yml deleted file mode 100644 index 359d1b80447..00000000000 --- a/changelogs/unreleased/49747-update-poll-2xx.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Changes poll.js to keep polling on any 2xx http status code -merge_request: 20904 -author: -type: other diff --git a/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml b/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml deleted file mode 100644 index 96da2436a9f..00000000000 --- a/changelogs/unreleased/49776-pipeline-job-log-page-uses-too-much-cpu-for-loading-animation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: refactor pipeline job log animation to reduce CPU usage -merge_request: 20915 -author: -type: performance diff --git a/changelogs/unreleased/49830-use-helm-272.yml b/changelogs/unreleased/49830-use-helm-272.yml deleted file mode 100644 index f6ecc12dbfa..00000000000 --- a/changelogs/unreleased/49830-use-helm-272.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Use Helm 2.7.2 for GitLab Managed Apps -merge_request: 20956 -author: -type: changed diff --git a/changelogs/unreleased/49835-increase-width.yml b/changelogs/unreleased/49835-increase-width.yml deleted file mode 100644 index f963c0c5e47..00000000000 --- a/changelogs/unreleased/49835-increase-width.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Increases title column on modal for reports -merge_request: -author: -type: other diff --git a/changelogs/unreleased/49851-link-to-runners.yml b/changelogs/unreleased/49851-link-to-runners.yml deleted file mode 100644 index 89fd6853bc8..00000000000 --- a/changelogs/unreleased/49851-link-to-runners.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Automatically expand runner's settings block when linking to the runner's settings - page -merge_request: -author: -type: other diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml deleted file mode 100644 index ffa4a3bc710..00000000000 --- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-1.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix rendering of the context lines in MR diffs page. -merge_request: 20968 -author: -type: fixed diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml deleted file mode 100644 index 42b0e4194f1..00000000000 --- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix autosave and ESC confirmation issues for MR discussions. -merge_request: 20968 -author: -type: fixed diff --git a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml b/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml deleted file mode 100644 index 29419091d02..00000000000 --- a/changelogs/unreleased/49854-recover-mr-regression-fixes-safe-3.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix navigation to First and Next discussion on MR Changes tab. -merge_request: 20968 -author: -type: fixed diff --git a/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml b/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml deleted file mode 100644 index 30f5002c5b5..00000000000 --- a/changelogs/unreleased/49861-top-nav-search-bar-produces-console-error-when-unauthenticated.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: fix error caused when using the search bar while unauthenticated -merge_request: 20970 -author: -type: fixed diff --git a/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml b/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml deleted file mode 100644 index 856a7c579f3..00000000000 --- a/changelogs/unreleased/49899-merge-request-e-mail-link-has-full-url.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Ensure links in notifications footer are not escaped -merge_request: 21000 -author: -type: fixed diff --git a/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml b/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml deleted file mode 100644 index 2fce00a662f..00000000000 --- a/changelogs/unreleased/49907-commits-and-merge-requests-does-not-list-all-files-when-one-file-exceeds-size-limits.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix merge requests not showing any diff files for big patches -merge_request: 21125 -author: -type: fixed diff --git a/changelogs/unreleased/49966-improve-junit-fe.yml b/changelogs/unreleased/49966-improve-junit-fe.yml deleted file mode 100644 index 48971d3bfd6..00000000000 --- a/changelogs/unreleased/49966-improve-junit-fe.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Renders test reports for resolved failures and resets error state -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml b/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml deleted file mode 100644 index e081dfe6093..00000000000 --- a/changelogs/unreleased/50257-fix-auto-devops-glibc-pubkey-url.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Auto-DevOps.gitlab-ci.yml: Update glibc package signing key URL' -merge_request: 21182 -author: sgerrand -type: fixed diff --git a/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml b/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml deleted file mode 100644 index eb20e34c466..00000000000 --- a/changelogs/unreleased/50281-js-pages-do-not-load-on-windows-8-ie-11.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix broken JavaScript in IE11 -merge_request: 21214 -author: -type: fixed diff --git a/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml b/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml deleted file mode 100644 index 50a3b9c9aff..00000000000 --- a/changelogs/unreleased/50312-instance-statistics-convdev-index-intro-banner-is-not-dismissable.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix issue stopping Instance Statistics javascript to be executed -merge_request: 21211 -author: -type: fixed diff --git a/changelogs/unreleased/50524-artifacts-sm.yml b/changelogs/unreleased/50524-artifacts-sm.yml new file mode 100644 index 00000000000..22bd097f911 --- /dev/null +++ b/changelogs/unreleased/50524-artifacts-sm.yml @@ -0,0 +1,5 @@ +--- +title: Shows download artifacts button for pipelines on small screens +merge_request: +author: +type: changed diff --git a/changelogs/unreleased/6860-FE-instance-level-project-templates.yml b/changelogs/unreleased/6860-FE-instance-level-project-templates.yml deleted file mode 100644 index 74e0daee71b..00000000000 --- a/changelogs/unreleased/6860-FE-instance-level-project-templates.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update design of project templates -merge_request: 21012 -author: -type: changed diff --git a/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml b/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml deleted file mode 100644 index 97d017613ba..00000000000 --- a/changelogs/unreleased/accept-rf3-2822-compliant-addresses.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Emails on push recipients now accepts formats like John Doe <johndoe@example.com> -merge_request: -author: George Thomas -type: added diff --git a/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml b/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml deleted file mode 100644 index 08376014ad7..00000000000 --- a/changelogs/unreleased/add-dst-support-to-pipeline-schedule.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add support for daylight savings time to pipleline schedules -merge_request: 20145 -author: -type: fixed diff --git a/changelogs/unreleased/add-homepage-link-to-status-pages.yml b/changelogs/unreleased/add-homepage-link-to-status-pages.yml deleted file mode 100644 index 0e7375f2061..00000000000 --- a/changelogs/unreleased/add-homepage-link-to-status-pages.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add link to homepage on static http status pages (404, 500, etc) -merge_request: 20898 -author: Jason Funk -type: added diff --git a/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml b/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml deleted file mode 100644 index 4f9a551d13e..00000000000 --- a/changelogs/unreleased/add-merge-request-header-branch-details-right-margin.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add merge request header branch actions left margin -merge_request: 20643 -author: George Tsiolis -type: changed diff --git a/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml b/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml deleted file mode 100644 index 37a4e31896e..00000000000 --- a/changelogs/unreleased/add-total-time-flat-printer-for-profiling.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Add a Gitlab::Profiler.print_by_total_time convenience method for profiling - from a Rails console -merge_request: -author: -type: other diff --git a/changelogs/unreleased/api-empty-commit-message.yml b/changelogs/unreleased/api-empty-commit-message.yml new file mode 100644 index 00000000000..34ddc020644 --- /dev/null +++ b/changelogs/unreleased/api-empty-commit-message.yml @@ -0,0 +1,5 @@ +--- +title: 'API: Catch empty commit messages' +merge_request: 21322 +author: Robert Schilling +type: fixed diff --git a/changelogs/unreleased/api-empty-project-snippets.yml b/changelogs/unreleased/api-empty-project-snippets.yml new file mode 100644 index 00000000000..7b8c7c9e48d --- /dev/null +++ b/changelogs/unreleased/api-empty-project-snippets.yml @@ -0,0 +1,5 @@ +--- +title: 'API: Catch empty code content for project snippets' +merge_request: 21325 +author: Robert Schilling +type: fixed diff --git a/changelogs/unreleased/api-minimal-access-level.yml b/changelogs/unreleased/api-minimal-access-level.yml deleted file mode 100644 index 43cab246d69..00000000000 --- a/changelogs/unreleased/api-minimal-access-level.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add filter for minimal access level in groups and projects API -merge_request: 20478 -author: Marko, Peter -type: added diff --git a/changelogs/unreleased/api-shared_group_expires-at.yml b/changelogs/unreleased/api-shared_group_expires-at.yml new file mode 100644 index 00000000000..3d569de65fa --- /dev/null +++ b/changelogs/unreleased/api-shared_group_expires-at.yml @@ -0,0 +1,5 @@ +--- +title: 'API: Add expiration date for shared projects to the project entity' +merge_request: 21104 +author: Robert Schilling +type: added diff --git a/changelogs/unreleased/arguments-keyword-sast.yml b/changelogs/unreleased/arguments-keyword-sast.yml new file mode 100644 index 00000000000..2ecbc5e8174 --- /dev/null +++ b/changelogs/unreleased/arguments-keyword-sast.yml @@ -0,0 +1,5 @@ +--- +title: Don't use arguments keyword in gettext script +merge_request: 21296 +author: gfyoung +type: fixed diff --git a/changelogs/unreleased/artifact-format-v2-with-parser.yml b/changelogs/unreleased/artifact-format-v2-with-parser.yml deleted file mode 100644 index e1a779cf6dd..00000000000 --- a/changelogs/unreleased/artifact-format-v2-with-parser.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: JUnit XML Test Summary In MR widget -merge_request: 20576 -author: -type: added diff --git a/changelogs/unreleased/artifact-format-v2.yml b/changelogs/unreleased/artifact-format-v2.yml deleted file mode 100644 index e264e0a9fa1..00000000000 --- a/changelogs/unreleased/artifact-format-v2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Extend gitlab-ci.yml to request junit.xml test reports -merge_request: 20390 -author: -type: added diff --git a/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml b/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml deleted file mode 100644 index 69e6b7d815a..00000000000 --- a/changelogs/unreleased/blackst0ne-replace-sidekiq-inline-with-perform-enqueued-jobs.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace 'Sidekiq::Testing.inline!' with 'perform_enqueued_jobs' -merge_request: 20768 -author: "@blackst0ne" -type: other diff --git a/changelogs/unreleased/bvl-graphql-wip-mutation.yml b/changelogs/unreleased/bvl-graphql-wip-mutation.yml deleted file mode 100644 index 00aa1c48677..00000000000 --- a/changelogs/unreleased/bvl-graphql-wip-mutation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add the first mutations for merge requests to GraphQL -merge_request: 20443 -author: -type: added diff --git a/changelogs/unreleased/bvl-user-status-message-35463.yml b/changelogs/unreleased/bvl-user-status-message-35463.yml deleted file mode 100644 index c844e7ea0e4..00000000000 --- a/changelogs/unreleased/bvl-user-status-message-35463.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Users can set a status message and emoji -merge_request: 20614 -author: niedermyer & davamr -type: added diff --git a/changelogs/unreleased/ce-5666-backport.yml b/changelogs/unreleased/ce-5666-backport.yml deleted file mode 100644 index 344f1a1983f..00000000000 --- a/changelogs/unreleased/ce-5666-backport.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: CE port of "List groups with developer maintainer access on project creation" -merge_request: 21051 -author: -type: other diff --git a/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml b/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml deleted file mode 100644 index b76437a8773..00000000000 --- a/changelogs/unreleased/ce-6064-geo-sql-query-for-counting-projects-with-wikis-is-very-slow.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Tracking the number of repositories and wikis with a cached counter for site-wide statistics -merge_request: 20413 -author: -type: performance diff --git a/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml b/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml deleted file mode 100644 index 49648cdfcfc..00000000000 --- a/changelogs/unreleased/close-revert-and-cherry-pick-modal-on-escape-keypress.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Close revert and cherry pick modal on escape keypress -merge_request: 20341 -author: George Tsiolis -type: changed diff --git a/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml b/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml deleted file mode 100644 index b87a1e5faf7..00000000000 --- a/changelogs/unreleased/cr-add-group-milestone-to-dashboard.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds the ability to view group milestones on the dashboard milestone page. -merge_request: 20618 -author: -type: fixed diff --git a/changelogs/unreleased/cr-add-path-of-group-milestone.yml b/changelogs/unreleased/cr-add-path-of-group-milestone.yml deleted file mode 100644 index 5ce240110ef..00000000000 --- a/changelogs/unreleased/cr-add-path-of-group-milestone.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adds the project and group name to the return type for project and group milestones. -merge_request: 20890 -author: -type: changed diff --git a/changelogs/unreleased/custom_wiki_sidebar.yml b/changelogs/unreleased/custom_wiki_sidebar.yml deleted file mode 100644 index 988fccc929c..00000000000 --- a/changelogs/unreleased/custom_wiki_sidebar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Custom Wiki Sidebar Support Issue 14995" -merge_request: -author: Josh Sooter -type: added diff --git a/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml b/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml new file mode 100644 index 00000000000..67926f3738a --- /dev/null +++ b/changelogs/unreleased/dz-fix-sql-error-admin-users-2fa.yml @@ -0,0 +1,5 @@ +--- +title: Fix SQL error when sorting 2FA-enabled users by name in admin area +merge_request: 21324 +author: +type: fixed diff --git a/changelogs/unreleased/dz-labels-search.yml b/changelogs/unreleased/dz-labels-search.yml deleted file mode 100644 index 49c1b6c1a86..00000000000 --- a/changelogs/unreleased/dz-labels-search.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Search for labels by title or description on project labels page -merge_request: 20749 -author: -type: added diff --git a/changelogs/unreleased/dz-manifest-import.yml b/changelogs/unreleased/dz-manifest-import.yml deleted file mode 100644 index b0d29b0869f..00000000000 --- a/changelogs/unreleased/dz-manifest-import.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add ability to import multiple repositories by uploading a manifest file -merge_request: 20304 -author: -type: added diff --git a/changelogs/unreleased/feature-gb-email-delivery-metrics.yml b/changelogs/unreleased/feature-gb-email-delivery-metrics.yml deleted file mode 100644 index 9d0d08a471d..00000000000 --- a/changelogs/unreleased/feature-gb-email-delivery-metrics.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add emails delivery Prometheus metrics -merge_request: 20638 -author: -type: added diff --git a/changelogs/unreleased/feature-gb-login-activity-metrics.yml b/changelogs/unreleased/feature-gb-login-activity-metrics.yml deleted file mode 100644 index 5d687b984eb..00000000000 --- a/changelogs/unreleased/feature-gb-login-activity-metrics.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add more comprehensive metrics tracking authentication activity -merge_request: 20668 -author: -type: added diff --git a/changelogs/unreleased/features-show-project-id-on-home-panel.yml b/changelogs/unreleased/features-show-project-id-on-home-panel.yml deleted file mode 100644 index f592be07a52..00000000000 --- a/changelogs/unreleased/features-show-project-id-on-home-panel.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Show Project ID on project home panel -merge_request: 20305 -author: Tuğçe Nur Taş -type: added diff --git a/changelogs/unreleased/fix-diff-note.yml b/changelogs/unreleased/fix-diff-note.yml deleted file mode 100644 index 6f10f86b9bc..00000000000 --- a/changelogs/unreleased/fix-diff-note.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix serialization of LegacyDiffNote -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-email-confirmation-addtional-email.yml b/changelogs/unreleased/fix-email-confirmation-addtional-email.yml deleted file mode 100644 index 56a2efa4d60..00000000000 --- a/changelogs/unreleased/fix-email-confirmation-addtional-email.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix email confirmation bug when user adds additional email to account -merge_request: 20084 -author: muhammadn -type: fixed diff --git a/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml b/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml deleted file mode 100644 index 7e9e8c33a71..00000000000 --- a/changelogs/unreleased/fix-gb-add-missing-before-sha-predefined-variable.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add missing predefined variable and fix docs -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml b/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml deleted file mode 100644 index 80b069c9251..00000000000 --- a/changelogs/unreleased/fix-gb-fix-deserializing-ci-yaml-variables.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix accessing imported pipeline builds -merge_request: 20713 -author: -type: fixed diff --git a/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml b/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml deleted file mode 100644 index adf582e34a2..00000000000 --- a/changelogs/unreleased/fix-gb-fix-project-settings-build-time-validation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Limit maximum project build timeout setting to 1 month -merge_request: 20591 -author: -type: fixed diff --git a/changelogs/unreleased/fix-multiple-scopes.yml b/changelogs/unreleased/fix-multiple-scopes.yml deleted file mode 100644 index 24e5172d9a1..00000000000 --- a/changelogs/unreleased/fix-multiple-scopes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Support multiple scopes when authing container registry scopes -merge_request: 20617 -author: -type: fixed diff --git a/changelogs/unreleased/fix-project-api-archived.yml b/changelogs/unreleased/fix-project-api-archived.yml deleted file mode 100644 index 9d119fd3429..00000000000 --- a/changelogs/unreleased/fix-project-api-archived.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix archived parameter for projects API -merge_request: 20566 -author: Peter Marko -type: fixed diff --git a/changelogs/unreleased/fix-prometheus-updated-status.yml b/changelogs/unreleased/fix-prometheus-updated-status.yml deleted file mode 100644 index 7261c3429c8..00000000000 --- a/changelogs/unreleased/fix-prometheus-updated-status.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix UI error whereby prometheus application status is updated -merge_request: 21029 -author: -type: fixed diff --git a/changelogs/unreleased/fix-search-bar.yml b/changelogs/unreleased/fix-search-bar.yml deleted file mode 100644 index d4c0c1efddf..00000000000 --- a/changelogs/unreleased/fix-search-bar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix search bar text input alignment -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml b/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml deleted file mode 100644 index 6a3e1420726..00000000000 --- a/changelogs/unreleased/fix-storage-size-for-artifacts-change.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update total storage size when changing size of artifacts -merge_request: 20697 -author: Peter Marko -type: fixed diff --git a/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml b/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml deleted file mode 100644 index 0b35c5c6786..00000000000 --- a/changelogs/unreleased/fj-37736-improve-performance-post-receive-create-gpg-siganture-worker.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Performing Commit GPG signature calculation in bulk -merge_request: 20870 -author: -type: performance diff --git a/changelogs/unreleased/fj-48123-fix-gitlab-import.yml b/changelogs/unreleased/fj-48123-fix-gitlab-import.yml deleted file mode 100644 index 896db2cdcb8..00000000000 --- a/changelogs/unreleased/fj-48123-fix-gitlab-import.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix GitLab project imports not loading due to API timeouts -merge_request: 20599 -author: -type: fixed diff --git a/changelogs/unreleased/fj-49014-wiki-search-error.yml b/changelogs/unreleased/fj-49014-wiki-search-error.yml deleted file mode 100644 index a76805cb7f9..00000000000 --- a/changelogs/unreleased/fj-49014-wiki-search-error.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixed bug with invalid repository reference using the wiki search -merge_request: 20722 -author: -type: fixed diff --git a/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml b/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml deleted file mode 100644 index 3af90fff3f6..00000000000 --- a/changelogs/unreleased/fj-49512-fix-gitlab-git-pages-encoding.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Prevent editing and updating wiki pages with non UTF-8 encoding via web interface -merge_request: 20906 -author: -type: fixed diff --git a/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml b/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml deleted file mode 100644 index ba61d378cda..00000000000 --- a/changelogs/unreleased/fj-49802-bug-api-set-http-headers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix bug setting http headers in Files API -merge_request: 20938 -author: -type: fixed diff --git a/changelogs/unreleased/floating-avarage-commit-numbers.yml b/changelogs/unreleased/floating-avarage-commit-numbers.yml deleted file mode 100644 index 7f91ab16af4..00000000000 --- a/changelogs/unreleased/floating-avarage-commit-numbers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Show one digit after dot in commit_per_day value in charts page. -merge_request: -author: msdundar -type: changed diff --git a/changelogs/unreleased/frozen-string-danger.yml b/changelogs/unreleased/frozen-string-danger.yml deleted file mode 100644 index 9910139b8a9..00000000000 --- a/changelogs/unreleased/frozen-string-danger.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add Dangerfile for frozen_string_literal -merge_request: 20767 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-app-models-more.yml b/changelogs/unreleased/frozen-string-enable-app-models-more.yml deleted file mode 100644 index c0466984134..00000000000 --- a/changelogs/unreleased/frozen-string-enable-app-models-more.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string for app/models/**/*.rb -merge_request: 21001 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-app-models.yml b/changelogs/unreleased/frozen-string-enable-app-models.yml deleted file mode 100644 index 4c149ea55ef..00000000000 --- a/changelogs/unreleased/frozen-string-enable-app-models.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in app/models/*.rb -merge_request: 20851 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml b/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml deleted file mode 100644 index 5c6b1b1a904..00000000000 --- a/changelogs/unreleased/frozen-string-enable-app-presenters-policies.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in app/presenters and app/policies -merge_request: 20819 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-app-serializers.yml b/changelogs/unreleased/frozen-string-enable-app-serializers.yml deleted file mode 100644 index 40c7b695d39..00000000000 --- a/changelogs/unreleased/frozen-string-enable-app-serializers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in app/serializers/**/*.rb -merge_request: 20726 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-app-services.yml b/changelogs/unreleased/frozen-string-enable-app-services.yml deleted file mode 100644 index cfc1f356e3a..00000000000 --- a/changelogs/unreleased/frozen-string-enable-app-services.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in apps/uploaders/*.rb -merge_request: 20401 -author: gfyoung -type: other diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml deleted file mode 100644 index cee790a07ff..00000000000 --- a/changelogs/unreleased/frozen-string-enable-apps-services-inner-even-more.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable even more frozen string in app/services/**/*.rb -merge_request: 20702 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml deleted file mode 100644 index ea962cf8edc..00000000000 --- a/changelogs/unreleased/frozen-string-enable-apps-services-inner-more.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable more frozen string in app/services/**/*.rb -merge_request: 20677 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml b/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml deleted file mode 100644 index 16b8ec3908f..00000000000 --- a/changelogs/unreleased/frozen-string-enable-apps-services-inner.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in app/services/**/*.rb -merge_request: 20656 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/frozen-string-vestigial.yml b/changelogs/unreleased/frozen-string-vestigial.yml deleted file mode 100644 index 79e92a19a7a..00000000000 --- a/changelogs/unreleased/frozen-string-vestigial.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen string in newly added files to previously processed directories -merge_request: 20763 -author: gfyoung -type: performance diff --git a/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml b/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml deleted file mode 100644 index b26eb82b6c9..00000000000 --- a/changelogs/unreleased/full-list-of-vulnerabilities-5239.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Removes "show all" on reports and adds an actionButtons slot -merge_request: 20855 -author: -type: changed diff --git a/changelogs/unreleased/git-rerere-link-doc-update.yml b/changelogs/unreleased/git-rerere-link-doc-update.yml deleted file mode 100644 index 06093e8ec13..00000000000 --- a/changelogs/unreleased/git-rerere-link-doc-update.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update git rerere link in docs -merge_request: 21060 -author: gfyoung -type: other diff --git a/changelogs/unreleased/hangouts_chat_integration.yml b/changelogs/unreleased/hangouts_chat_integration.yml deleted file mode 100644 index bf3484a6d02..00000000000 --- a/changelogs/unreleased/hangouts_chat_integration.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add Hangouts Chat integration -merge_request: 20290 -author: Kukovskii Vladimir -type: added diff --git a/changelogs/unreleased/ide-codesandbox-poc.yml b/changelogs/unreleased/ide-codesandbox-poc.yml deleted file mode 100644 index 7da1f4e6472..00000000000 --- a/changelogs/unreleased/ide-codesandbox-poc.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Added live preview for JavaScript projects in the Web IDE -merge_request: 19764 -author: -type: added diff --git a/changelogs/unreleased/ide-delete-entries.yml b/changelogs/unreleased/ide-delete-entries.yml deleted file mode 100644 index 8cbc0739406..00000000000 --- a/changelogs/unreleased/ide-delete-entries.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enabled deletion of files in the Web IDE -merge_request: -author: -type: added diff --git a/changelogs/unreleased/ide-pipeline-icon-open.yml b/changelogs/unreleased/ide-pipeline-icon-open.yml deleted file mode 100644 index 3a73ff2170f..00000000000 --- a/changelogs/unreleased/ide-pipeline-icon-open.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Clicking CI icon in Web IDE now opens up pipelines panel -merge_request: -author: -type: added diff --git a/changelogs/unreleased/ide-rename-files.yml b/changelogs/unreleased/ide-rename-files.yml deleted file mode 100644 index c2db284e07c..00000000000 --- a/changelogs/unreleased/ide-rename-files.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable renaming files and folders in Web IDE -merge_request: 20835 -author: -type: added diff --git a/changelogs/unreleased/ide-row-dropdown-design-update.yml b/changelogs/unreleased/ide-row-dropdown-design-update.yml deleted file mode 100644 index e0fe64c944e..00000000000 --- a/changelogs/unreleased/ide-row-dropdown-design-update.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Updated design of new entry dropdown in Web IDE -merge_request: 20526 -author: -type: changed diff --git a/changelogs/unreleased/ide-warn-staged-files.yml b/changelogs/unreleased/ide-warn-staged-files.yml deleted file mode 100644 index ae3c4f392c0..00000000000 --- a/changelogs/unreleased/ide-warn-staged-files.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Warn user when reload IDE with staged changes -merge_request: 20857 -author: -type: added diff --git a/changelogs/unreleased/improve-junit-support-be.yml b/changelogs/unreleased/improve-junit-support-be.yml deleted file mode 100644 index db4d47caa7c..00000000000 --- a/changelogs/unreleased/improve-junit-support-be.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve JUnit test reports in merge request widgets -merge_request: 49966 -author: -type: fixed diff --git a/changelogs/unreleased/improve-metadata-access-performance.yml b/changelogs/unreleased/improve-metadata-access-performance.yml deleted file mode 100644 index b16fa99dd3b..00000000000 --- a/changelogs/unreleased/improve-metadata-access-performance.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Access metadata directly from Object Storage -merge_request: -author: -type: performance diff --git a/changelogs/unreleased/issue_43602.yml b/changelogs/unreleased/issue_43602.yml deleted file mode 100644 index 0482606db0a..00000000000 --- a/changelogs/unreleased/issue_43602.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Allow multiple JIRA transition ids -merge_request: 20939 -author: -type: changed diff --git a/changelogs/unreleased/issue_44821.yml b/changelogs/unreleased/issue_44821.yml deleted file mode 100644 index b1807e069af..00000000000 --- a/changelogs/unreleased/issue_44821.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Retrieve merge request closing issues from database cache -merge_request: 20911 -author: -type: fixed diff --git a/changelogs/unreleased/issue_47709.yml b/changelogs/unreleased/issue_47709.yml deleted file mode 100644 index c3ef55fd692..00000000000 --- a/changelogs/unreleased/issue_47709.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Allow to toggle notifications for issues due soon' -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/jprovazn-resource-events.yml b/changelogs/unreleased/jprovazn-resource-events.yml deleted file mode 100644 index 05643150f16..00000000000 --- a/changelogs/unreleased/jprovazn-resource-events.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add new model for tracking label events. -merge_request: -author: -type: added diff --git a/changelogs/unreleased/jr-archive-hook.yml b/changelogs/unreleased/jr-archive-hook.yml deleted file mode 100644 index 56c13f1370e..00000000000 --- a/changelogs/unreleased/jr-archive-hook.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Trigger system hooks when project is archived/unarchived -merge_request: 20995 -author: -type: added diff --git a/changelogs/unreleased/jupyter-image.yml b/changelogs/unreleased/jupyter-image.yml deleted file mode 100644 index 8aeefd603d8..00000000000 --- a/changelogs/unreleased/jupyter-image.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rubix, scikit-learn, tensorflow & other useful libraries pre-installed with JupyterHub -merge_request: 20714 -author: Amit Rathi -type: changed diff --git a/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml b/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml deleted file mode 100644 index c15d73a0c12..00000000000 --- a/changelogs/unreleased/kp-6927-epic-dates-from-milestone.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add 'tabindex' attribute support on Icon component to show BS4 popover on trigger type 'focus' -merge_request: 21066 -author: -type: other diff --git a/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml b/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml deleted file mode 100644 index a2fca4c5b91..00000000000 --- a/changelogs/unreleased/kp-stacked-progress-bar-decimal-places.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Show decimal place up to single digit in Stacked Progress Bar -merge_request: 20776 -author: -type: changed diff --git a/changelogs/unreleased/leipert-fix-pipelines-view.yml b/changelogs/unreleased/leipert-fix-pipelines-view.yml deleted file mode 100644 index 7bcc2e84cd2..00000000000 --- a/changelogs/unreleased/leipert-fix-pipelines-view.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix rendering of pipeline failure view when directly navigationg to it -merge_request: 21043 -author: -type: fixed diff --git a/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml b/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml deleted file mode 100644 index 9d38b353a41..00000000000 --- a/changelogs/unreleased/mk-add-local-project-uploads-cleanup-task.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add local project uploads cleanup task -merge_request: 20863 -author: -type: added diff --git a/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml b/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml deleted file mode 100644 index 8e71377d93f..00000000000 --- a/changelogs/unreleased/mk-fix-callback-canceling-in-namespace-move-dir.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix namespace move callback behavior, especially to fix Geo replication of namespace moves during certain exceptions. -merge_request: 19297 -author: -type: fixed diff --git a/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml b/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml deleted file mode 100644 index 62416b7f87e..00000000000 --- a/changelogs/unreleased/osw-fix-missing-and-duplicated-milestones-on-list.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix missing and duplicates on project milestone listing page -merge_request: 21058 -author: -type: fixed diff --git a/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml b/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml deleted file mode 100644 index dc8148fa1a5..00000000000 --- a/changelogs/unreleased/osw-fix-n-plus-1-for-mrs-without-merge-info.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Avoid N+1 on MRs page when metrics merging date cannot be found -merge_request: 21053 -author: -type: performance diff --git a/changelogs/unreleased/pl-json-gon.yml b/changelogs/unreleased/pl-json-gon.yml deleted file mode 100644 index c0f93006c07..00000000000 --- a/changelogs/unreleased/pl-json-gon.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Don't set gon variables in JSON requests -merge_request: 21016 -author: Peter Leitzen -type: performance diff --git a/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml b/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml deleted file mode 100644 index 6994a238074..00000000000 --- a/changelogs/unreleased/process-commits-as-normal-in-forks-with-missing-upstream.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Process commits as normal in forks when the upstream project is deleted -merge_request: 20534 -author: -type: fixed diff --git a/changelogs/unreleased/project-visibility-tooltip.yml b/changelogs/unreleased/project-visibility-tooltip.yml deleted file mode 100644 index 806c93e493a..00000000000 --- a/changelogs/unreleased/project-visibility-tooltip.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix project visibility tooltip -merge_request: 20535 -author: Jamie Schembri -type: fixed diff --git a/changelogs/unreleased/rails5-fix-48977.yml b/changelogs/unreleased/rails5-fix-48977.yml deleted file mode 100644 index bfd86f20e24..00000000000 --- a/changelogs/unreleased/rails5-fix-48977.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rails5 fix mysql milliseconds problem in specs -merge_request: 20464 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml b/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml deleted file mode 100644 index 5f2504c604d..00000000000 --- a/changelogs/unreleased/rails5-fix-flaky-spec-user-uses-shortcuts.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Rails5: fix flaky spec' -merge_request: 20953 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-fix-revert-modal-spec.yml b/changelogs/unreleased/rails5-fix-revert-modal-spec.yml deleted file mode 100644 index 0637e503ca9..00000000000 --- a/changelogs/unreleased/rails5-fix-revert-modal-spec.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rails5 fix user sees revert modal spec -merge_request: 20706 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-gpg-permit-concurrent.yml b/changelogs/unreleased/rails5-gpg-permit-concurrent.yml deleted file mode 100644 index cf1b0023f86..00000000000 --- a/changelogs/unreleased/rails5-gpg-permit-concurrent.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Permit concurrent loads in gpg keychain mutex -merge_request: 20894 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml b/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml deleted file mode 100644 index afd9865ee45..00000000000 --- a/changelogs/unreleased/rails5-mysql-fix-pr-importer-spec.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rails5 mysql fix milliseconds problem in pull request importer spec -merge_request: 20475 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-mysql-rename-column.yml b/changelogs/unreleased/rails5-mysql-rename-column.yml deleted file mode 100644 index cbae9250744..00000000000 --- a/changelogs/unreleased/rails5-mysql-rename-column.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rails5 MySQL fix rename_column as part of cleanup_concurrent_column_type_change -merge_request: 20514 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-update-gemfile-lock-2.yml b/changelogs/unreleased/rails5-update-gemfile-lock-2.yml deleted file mode 100644 index 1f3e9bd2238..00000000000 --- a/changelogs/unreleased/rails5-update-gemfile-lock-2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Rails5 update Gemfile.rails5.lock -merge_request: 20858 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-update-gemfile-lock.yml b/changelogs/unreleased/rails5-update-gemfile-lock.yml deleted file mode 100644 index 58931587fff..00000000000 --- a/changelogs/unreleased/rails5-update-gemfile-lock.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update Gemfile.rails5.lock with latest Gemfile.lock changes -merge_request: 20466 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/rails5-update-rouge.yml b/changelogs/unreleased/rails5-update-rouge.yml deleted file mode 100644 index 1173b3b7e9a..00000000000 --- a/changelogs/unreleased/rails5-update-rouge.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Rails5: update Rails5 lock for forgotten gem rouge' -merge_request: 21010 -author: Jasper Maes -type: fixed diff --git a/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml b/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml deleted file mode 100644 index fd5a6521882..00000000000 --- a/changelogs/unreleased/ravlen-deploy-tokens-display-update.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Cleans up display of Deploy Tokens to match Personal Access Tokens" -merge_request: 20578 -author: Marcel Amirault -type: added
\ No newline at end of file diff --git a/changelogs/unreleased/regen-2fa-codes.yml b/changelogs/unreleased/regen-2fa-codes.yml deleted file mode 100644 index 596f759df0f..00000000000 --- a/changelogs/unreleased/regen-2fa-codes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Added button to regenerate 2FA codes -merge_request: -author: Luke Picciau -type: added diff --git a/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml b/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml deleted file mode 100644 index 8d5ecdfa57e..00000000000 --- a/changelogs/unreleased/replace-all-snake-case-in-scss-variables.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace snake case in SCSS variables -merge_request: 20799 -author: George Tsiolis -type: other diff --git a/changelogs/unreleased/replace-snake-case-css-classes.yml b/changelogs/unreleased/replace-snake-case-css-classes.yml deleted file mode 100644 index 28ec5ee097f..00000000000 --- a/changelogs/unreleased/replace-snake-case-css-classes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Replace author_link snake case in stylesheets, specs, and helpers -merge_request: 20797 -author: George Tsiolis -type: other diff --git a/changelogs/unreleased/rouge-3-2-0.yml b/changelogs/unreleased/rouge-3-2-0.yml deleted file mode 100644 index 15ac4cc1e76..00000000000 --- a/changelogs/unreleased/rouge-3-2-0.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update to Rouge 3.2.0, including Terraform and Crystal lexer and bug fixes -merge_request: 20991 -author: -type: changed diff --git a/changelogs/unreleased/rouge_3-2-1.yml b/changelogs/unreleased/rouge_3-2-1.yml deleted file mode 100644 index b281a4f0e95..00000000000 --- a/changelogs/unreleased/rouge_3-2-1.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update to Rouge 3.2.1, which includes a critical fix to the Perl Lexer -merge_request: 21263 -author: -type: changed diff --git a/changelogs/unreleased/runner-features.yml b/changelogs/unreleased/runner-features.yml deleted file mode 100644 index c5e0fff5a18..00000000000 --- a/changelogs/unreleased/runner-features.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Verify runner feature set -merge_request: 20664 -author: -type: added diff --git a/changelogs/unreleased/runners-max-timeout-param.yml b/changelogs/unreleased/runners-max-timeout-param.yml deleted file mode 100644 index 875f805d849..00000000000 --- a/changelogs/unreleased/runners-max-timeout-param.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add missing maximum_timeout parameter -merge_request: 20355 -author: gfyoung -type: fixed diff --git a/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml b/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml deleted file mode 100644 index 7bfe1b5778f..00000000000 --- a/changelogs/unreleased/satishperala-gitlab-ce-20720_webhooks_full_image_url.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Include full image URL in webhooks for uploaded images -merge_request: 18109 -author: Satish Perala -type: changed diff --git a/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml b/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml deleted file mode 100644 index fabf48acbbc..00000000000 --- a/changelogs/unreleased/security-fj-missing-csrf-system-hooks.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Adding CSRF protection to Hooks test action -merge_request: -author: -type: security diff --git a/changelogs/unreleased/security-ide-branch-name-xss.yml b/changelogs/unreleased/security-ide-branch-name-xss.yml deleted file mode 100644 index 51742ffa4e9..00000000000 --- a/changelogs/unreleased/security-ide-branch-name-xss.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fixed XSS in branch name in Web IDE -merge_request: -author: -type: security diff --git a/changelogs/unreleased/sh-bump-fog-google.yml b/changelogs/unreleased/sh-bump-fog-google.yml new file mode 100644 index 00000000000..b5fa55e53a5 --- /dev/null +++ b/changelogs/unreleased/sh-bump-fog-google.yml @@ -0,0 +1,5 @@ +--- +title: Bump fog-google to 1.7.0 and google-api-client to 0.23.0 +merge_request: 21295 +author: +type: fixed diff --git a/changelogs/unreleased/sh-bump-gitaly-0-117.yml b/changelogs/unreleased/sh-bump-gitaly-0-117.yml deleted file mode 100644 index 90ca86d076b..00000000000 --- a/changelogs/unreleased/sh-bump-gitaly-0-117.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump Gitaly to 0.117.0 -merge_request: 21055 -author: -type: performance diff --git a/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml b/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml deleted file mode 100644 index 0e748c3a346..00000000000 --- a/changelogs/unreleased/sh-bump-gitaly-for-11-2.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump Gitaly to 0.117.1 for Rouge update -merge_request: 21277 -author: -type: security diff --git a/changelogs/unreleased/sh-bump-haml-5-0-4.yml b/changelogs/unreleased/sh-bump-haml-5-0-4.yml deleted file mode 100644 index 269b1e55417..00000000000 --- a/changelogs/unreleased/sh-bump-haml-5-0-4.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump haml gem to 5.0.4 -merge_request: 20847 -author: -type: performance diff --git a/changelogs/unreleased/sh-bump-rugged-0-27-4.yml b/changelogs/unreleased/sh-bump-rugged-0-27-4.yml deleted file mode 100644 index 50373cb81ad..00000000000 --- a/changelogs/unreleased/sh-bump-rugged-0-27-4.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump rugged to 0.27.4 for security fixes -merge_request: -author: -type: security diff --git a/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml b/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml deleted file mode 100644 index b9444440cb9..00000000000 --- a/changelogs/unreleased/sh-bump-sanitize-4-6-6.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Bump nokogiri to 1.8.4 and sanitize to 4.6.6 for performance -merge_request: 20795 -author: -type: performance diff --git a/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml b/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml deleted file mode 100644 index 897d673e97d..00000000000 --- a/changelogs/unreleased/sh-enable-frozen-literals-banzi-filters.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen strings in remaining lib/banzai/filter/*.rb files -merge_request: 20777 -author: -type: performance diff --git a/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml b/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml deleted file mode 100644 index e1adebbf076..00000000000 --- a/changelogs/unreleased/sh-fix-admin-jobs-controller-timing-out.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix /admin/jobs failing to load due to statement timeout -merge_request: 20909 -author: -type: performance diff --git a/changelogs/unreleased/sh-fix-issue-47797-ce.yml b/changelogs/unreleased/sh-fix-issue-47797-ce.yml deleted file mode 100644 index 456d96acacb..00000000000 --- a/changelogs/unreleased/sh-fix-issue-47797-ce.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix handling of annotated tags when Gitaly is not in use -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sh-fix-issue-49133.yml b/changelogs/unreleased/sh-fix-issue-49133.yml deleted file mode 100644 index 847220d88b2..00000000000 --- a/changelogs/unreleased/sh-fix-issue-49133.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix symlink vulnerability in project import -merge_request: -author: -type: security diff --git a/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml b/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml deleted file mode 100644 index b7366cf2569..00000000000 --- a/changelogs/unreleased/sh-fix-stderr-pipe-consumption.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Avoid process deadlock in popen by consuming input pipes -merge_request: 20600 -author: -type: fixed diff --git a/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml b/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml deleted file mode 100644 index 37b397ea49f..00000000000 --- a/changelogs/unreleased/sh-freeze-banzai-filter-strings.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Enable frozen strings in lib/banzai/filter/*.rb -merge_request: 20775 -author: -type: performance diff --git a/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml b/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml deleted file mode 100644 index 7717d0aab37..00000000000 --- a/changelogs/unreleased/sh-handle-colons-in-url-passwords.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Properly handle colons in URL passwords -merge_request: -author: -type: fixed diff --git a/changelogs/unreleased/sh-include-rbtrace.yml b/changelogs/unreleased/sh-include-rbtrace.yml deleted file mode 100644 index 41f0655e3f8..00000000000 --- a/changelogs/unreleased/sh-include-rbtrace.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add rbtrace to Gemfile -merge_request: 20831 -author: -type: other diff --git a/changelogs/unreleased/sh-lfs-fix-content-type.yml b/changelogs/unreleased/sh-lfs-fix-content-type.yml deleted file mode 100644 index a839be9b3ae..00000000000 --- a/changelogs/unreleased/sh-lfs-fix-content-type.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix LFS uploads not working with git-lfs 2.5.0 -merge_request: 20923 -author: -type: fixed diff --git a/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml b/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml deleted file mode 100644 index 44a46b4115e..00000000000 --- a/changelogs/unreleased/sh-limit-unauthenticated-session-times.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Limit the TTL for anonymous sessions to 1 hour -merge_request: 20700 -author: -type: performance diff --git a/changelogs/unreleased/sh-normalize-urls.yml b/changelogs/unreleased/sh-normalize-urls.yml deleted file mode 100644 index b0d1120e10b..00000000000 --- a/changelogs/unreleased/sh-normalize-urls.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Escape username and password in UrlSanitizer#full_url -merge_request: 20684 -author: -type: fixed diff --git a/changelogs/unreleased/sh-optimize-wiki-empty-check.yml b/changelogs/unreleased/sh-optimize-wiki-empty-check.yml deleted file mode 100644 index 31ca7497b5a..00000000000 --- a/changelogs/unreleased/sh-optimize-wiki-empty-check.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Optimize ProjectWiki#empty? check -merge_request: 20573 -author: -type: performance diff --git a/changelogs/unreleased/sh-remove-banzai-instrumentation.yml b/changelogs/unreleased/sh-remove-banzai-instrumentation.yml deleted file mode 100644 index 8bb3cd5942b..00000000000 --- a/changelogs/unreleased/sh-remove-banzai-instrumentation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove method instrumentation for Banzai filters and reference parsers -merge_request: 20770 -author: -type: performance diff --git a/changelogs/unreleased/sh-simplify-liveness-check.yml b/changelogs/unreleased/sh-simplify-liveness-check.yml deleted file mode 100644 index 225e3dc1378..00000000000 --- a/changelogs/unreleased/sh-simplify-liveness-check.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add /-/health basic health check endpoint -merge_request: 20456 -author: -type: added diff --git a/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml b/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml deleted file mode 100644 index 4b0c8117b3e..00000000000 --- a/changelogs/unreleased/sh-support-users-find-by-confirmed-emails.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add support for searching users by confirmed e-mails -merge_request: 20893 -author: -type: other diff --git a/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml b/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml deleted file mode 100644 index e8c2e11ad31..00000000000 --- a/changelogs/unreleased/sh-use-wiki-limit-parameter-gitaly.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Use limit parameter to retrieve Wikis from Gitaly -merge_request: 20764 -author: -type: performance diff --git a/changelogs/unreleased/stop-dynamic-routable-creation.yml b/changelogs/unreleased/stop-dynamic-routable-creation.yml deleted file mode 100644 index 8bfcb5b2d11..00000000000 --- a/changelogs/unreleased/stop-dynamic-routable-creation.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Stop dynamically creating project and namespace routes -merge_request: 20313 -author: -type: performance diff --git a/changelogs/unreleased/tc-reorder-mail-notify-references.yml b/changelogs/unreleased/tc-reorder-mail-notify-references.yml deleted file mode 100644 index 689afda0259..00000000000 --- a/changelogs/unreleased/tc-reorder-mail-notify-references.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Put fallback reply-key address first in the References header -merge_request: 20871 -author: -type: changed diff --git a/changelogs/unreleased/todos-visibility-change.yml b/changelogs/unreleased/todos-visibility-change.yml deleted file mode 100644 index b7632b94771..00000000000 --- a/changelogs/unreleased/todos-visibility-change.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Delete todos when user loses access to read the target -merge_request: 20665 -author: -type: other diff --git a/changelogs/unreleased/todos-visibility-migration.yml b/changelogs/unreleased/todos-visibility-migration.yml deleted file mode 100644 index 651facc4ec8..00000000000 --- a/changelogs/unreleased/todos-visibility-migration.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove todos of users without access to targets migration -merge_request: 20927 -author: -type: other diff --git a/changelogs/unreleased/toggle-password-cluster.yml b/changelogs/unreleased/toggle-password-cluster.yml deleted file mode 100644 index 1a43c4baa25..00000000000 --- a/changelogs/unreleased/toggle-password-cluster.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Toggle Show / Hide Button for Kubernetes Password -merge_request: 20659 -author: gfyoung -type: fixed diff --git a/changelogs/unreleased/tweak-sql-buckets.yml b/changelogs/unreleased/tweak-sql-buckets.yml deleted file mode 100644 index 00a0f733ee1..00000000000 --- a/changelogs/unreleased/tweak-sql-buckets.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Add a 10 ms bucket for SQL timings -merge_request: -author: -type: changed diff --git a/changelogs/unreleased/tz-mr-port-memory-fixes.yml b/changelogs/unreleased/tz-mr-port-memory-fixes.yml deleted file mode 100644 index 61d3c9abf71..00000000000 --- a/changelogs/unreleased/tz-mr-port-memory-fixes.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Improve performance and memory footprint of Changes tab of Merge Requests -merge_request: 21028 -author: -type: performance diff --git a/changelogs/unreleased/update-card-body-style.yml b/changelogs/unreleased/update-card-body-style.yml deleted file mode 100644 index d9197c18502..00000000000 --- a/changelogs/unreleased/update-card-body-style.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove background color from card-body style -merge_request: 20689 -author: George Tsiolis -type: fixed diff --git a/changelogs/unreleased/update-issue-closing-pattern.yml b/changelogs/unreleased/update-issue-closing-pattern.yml deleted file mode 100644 index 95488adf449..00000000000 --- a/changelogs/unreleased/update-issue-closing-pattern.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update issue closing pattern -merge_request: 20554 -author: George Tsiolis -type: changed diff --git a/changelogs/unreleased/update-specific-runners-help-url.yml b/changelogs/unreleased/update-specific-runners-help-url.yml deleted file mode 100644 index 0ccbc3b2d65..00000000000 --- a/changelogs/unreleased/update-specific-runners-help-url.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Update specific runners help URL -merge_request: 20213 -author: George Tsiolis -type: other diff --git a/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml b/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml deleted file mode 100644 index 39e10121507..00000000000 --- a/changelogs/unreleased/upgrade-hamlit-for-ruby25.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'Update hamlit to fix ruby 2.5 incompatibilities, fixes #42045' -merge_request: -author: Matthew Dawson -type: fixed diff --git a/changelogs/unreleased/winh-fix-gpg-regressions.yml b/changelogs/unreleased/winh-fix-gpg-regressions.yml deleted file mode 100644 index 75d28321259..00000000000 --- a/changelogs/unreleased/winh-fix-gpg-regressions.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Fix GPG status badge loading regressions -merge_request: 20987 -author: -type: fixed diff --git a/changelogs/unreleased/winh-restyle-user-status.yml b/changelogs/unreleased/winh-restyle-user-status.yml deleted file mode 100644 index 90370e87825..00000000000 --- a/changelogs/unreleased/winh-restyle-user-status.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Restyle status message input on profile settings -merge_request: 20903 -author: -type: changed diff --git a/changelogs/unreleased/winh-stop-all-environments.yml b/changelogs/unreleased/winh-stop-all-environments.yml deleted file mode 100644 index 6e5f2f506d9..00000000000 --- a/changelogs/unreleased/winh-stop-all-environments.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Support manually stopping any environment from the UI -merge_request: 20077 -author: -type: changed diff --git a/changelogs/unreleased/winh-tree-view-gpg.yml b/changelogs/unreleased/winh-tree-view-gpg.yml deleted file mode 100644 index 84d63814a47..00000000000 --- a/changelogs/unreleased/winh-tree-view-gpg.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Display GPG status on repository and blob pages -merge_request: 20524 -author: -type: changed diff --git a/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml b/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml deleted file mode 100644 index 62addff1d0f..00000000000 --- a/changelogs/unreleased/winh-upgrade-grape-path-helpers.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Upgrade grape-path-helpers to 1.0.6 -merge_request: 20601 -author: -type: other diff --git a/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml b/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml deleted file mode 100644 index 97fa1592753..00000000000 --- a/changelogs/unreleased/wrap-job-name-on-jobs-sidebar.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Wrap job name on pipeline job sidebar -merge_request: 20804 -author: George Tsiolis -type: changed diff --git a/changelogs/unreleased/zj-remove-git-rake-tasks.yml b/changelogs/unreleased/zj-remove-git-rake-tasks.yml deleted file mode 100644 index 8c90fc7d0fe..00000000000 --- a/changelogs/unreleased/zj-remove-git-rake-tasks.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Remove gitlab:user:check_repos, gitlab:check_repo, gitlab:git:prune, gitlab:git:gc, and gitlab:git:repack -merge_request: 20806 -author: -type: removed diff --git a/changelogs/unreleased/zj-repository-languages.yml b/changelogs/unreleased/zj-repository-languages.yml deleted file mode 100644 index c42ba60be29..00000000000 --- a/changelogs/unreleased/zj-repository-languages.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Show repository languages for projects -merge_request: 19480 -author: -type: added diff --git a/config/initializers/fog_google_https_private_urls.rb b/config/initializers/fog_google_https_private_urls.rb index f92e623a5d2..c65a534b536 100644 --- a/config/initializers/fog_google_https_private_urls.rb +++ b/config/initializers/fog_google_https_private_urls.rb @@ -7,7 +7,7 @@ module Fog class GoogleXML class File < Fog::Model module MonkeyPatch - def url(expires) + def url(expires, options = {}) requires :key collection.get_https_url(key, expires) end diff --git a/doc/api/groups.md b/doc/api/groups.md index 87be36cc815..64e0d78788d 100644 --- a/doc/api/groups.md +++ b/doc/api/groups.md @@ -351,12 +351,14 @@ Example response: { "group_id": 4, "group_name": "Twitter", - "group_access_level": 30 + "group_access_level": 30, + "expires_at": null }, { "group_id": 3, "group_name": "Gitlab Org", - "group_access_level": 10 + "group_access_level": 10, + "expires_at": "2018-08-14" } ] } diff --git a/doc/university/high-availability/aws/README.md b/doc/university/high-availability/aws/README.md index 8f7bb8636c5..4e7eae19844 100644 --- a/doc/university/high-availability/aws/README.md +++ b/doc/university/high-availability/aws/README.md @@ -30,7 +30,7 @@ we'll be using to configure our cloud infrastructure. ### Reference Architecture -![Reference Architecture](img/reference-arch.png) +![Reference Architecture](img/reference-arch2.png) *** diff --git a/doc/university/high-availability/aws/img/reference-arch.png b/doc/university/high-availability/aws/img/reference-arch.png Binary files differdeleted file mode 100644 index 271ee5bc614..00000000000 --- a/doc/university/high-availability/aws/img/reference-arch.png +++ /dev/null diff --git a/doc/university/high-availability/aws/img/reference-arch2.png b/doc/university/high-availability/aws/img/reference-arch2.png Binary files differnew file mode 100644 index 00000000000..9f50b2f5171 --- /dev/null +++ b/doc/university/high-availability/aws/img/reference-arch2.png diff --git a/lib/api/entities.rb b/lib/api/entities.rb index b6393fdef19..06262f0f991 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -91,6 +91,7 @@ module API group_link.group.name end expose :group_access, as: :group_access_level + expose :expires_at end class ProjectIdentity < Grape::Entity diff --git a/lib/api/files.rb b/lib/api/files.rb index 29d7489bd7c..ff4f75c12df 100644 --- a/lib/api/files.rb +++ b/lib/api/files.rb @@ -59,7 +59,7 @@ module API params :simple_file_params do requires :file_path, type: String, desc: 'The url encoded path to the file. Ex. lib%2Fclass%2Erb' requires :branch, type: String, desc: 'Name of the branch to commit into. To create a new branch, also provide `start_branch`.' - requires :commit_message, type: String, desc: 'Commit message' + requires :commit_message, type: String, allow_blank: false, desc: 'Commit message' optional :start_branch, type: String, desc: 'Name of the branch to start the new commit from' optional :author_email, type: String, desc: 'The email of the author' optional :author_name, type: String, desc: 'The name of the author' diff --git a/lib/api/project_snippets.rb b/lib/api/project_snippets.rb index 1de5551fee9..0ada0ef4708 100644 --- a/lib/api/project_snippets.rb +++ b/lib/api/project_snippets.rb @@ -49,7 +49,7 @@ module API params do requires :title, type: String, desc: 'The title of the snippet' requires :file_name, type: String, desc: 'The file name of the snippet' - requires :code, type: String, desc: 'The content of the snippet' + requires :code, type: String, allow_blank: false, desc: 'The content of the snippet' optional :description, type: String, desc: 'The description of a snippet' requires :visibility, type: String, values: Gitlab::VisibilityLevel.string_values, @@ -78,7 +78,7 @@ module API requires :snippet_id, type: Integer, desc: 'The ID of a project snippet' optional :title, type: String, desc: 'The title of the snippet' optional :file_name, type: String, desc: 'The file name of the snippet' - optional :code, type: String, desc: 'The content of the snippet' + optional :code, type: String, allow_blank: false, desc: 'The content of the snippet' optional :description, type: String, desc: 'The description of a snippet' optional :visibility, type: String, values: Gitlab::VisibilityLevel.string_values, diff --git a/lib/gitlab/auth/o_auth/provider.rb b/lib/gitlab/auth/o_auth/provider.rb index e73743944a9..26da9d09ccc 100644 --- a/lib/gitlab/auth/o_auth/provider.rb +++ b/lib/gitlab/auth/o_auth/provider.rb @@ -29,6 +29,7 @@ module Gitlab def self.enabled?(name) return true if name == 'database' + return true if self.ldap_provider?(name) && providers.include?(name.to_sym) Gitlab::Auth.omniauth_enabled? && providers.include?(name.to_sym) end diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 73bff79aabe..f348f66ae17 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -2508,6 +2508,12 @@ msgstr "" msgid "Error loading project data. Please try again." msgstr "" +msgid "Error loading template types." +msgstr "" + +msgid "Error loading template." +msgstr "" + msgid "Error occurred when toggling the notification subscription" msgstr "" diff --git a/package.json b/package.json index f5fc759f76e..17ff85c9cd0 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "webpack-prod": "NODE_ENV=production webpack --config config/webpack.config.js" }, "dependencies": { - "@gitlab-org/gitlab-svgs": "^1.27.0", + "@gitlab-org/gitlab-svgs": "^1.28.0", "@gitlab-org/gitlab-ui": "1.0.5", "autosize": "^4.0.0", "axios": "^0.17.1", diff --git a/qa/qa/scenario/test/integration/github.rb b/qa/qa/scenario/test/integration/github.rb index 1d22b532aa5..76c3923d68a 100644 --- a/qa/qa/scenario/test/integration/github.rb +++ b/qa/qa/scenario/test/integration/github.rb @@ -2,7 +2,7 @@ module QA module Scenario module Test module Integration - class Github < Test::Instance + class Github < Test::Instance::All tags :github def perform(address, *rspec_options) diff --git a/qa/qa/scenario/test/integration/kubernetes.rb b/qa/qa/scenario/test/integration/kubernetes.rb index 7479073e979..405962caeed 100644 --- a/qa/qa/scenario/test/integration/kubernetes.rb +++ b/qa/qa/scenario/test/integration/kubernetes.rb @@ -2,7 +2,7 @@ module QA module Scenario module Test module Integration - class Kubernetes < Test::Instance + class Kubernetes < Test::Instance::All tags :kubernetes end end diff --git a/qa/qa/scenario/test/integration/ldap.rb b/qa/qa/scenario/test/integration/ldap.rb index 257ed81d9e1..769fa389785 100644 --- a/qa/qa/scenario/test/integration/ldap.rb +++ b/qa/qa/scenario/test/integration/ldap.rb @@ -2,7 +2,7 @@ module QA module Scenario module Test module Integration - class LDAP < Test::Instance + class LDAP < Test::Instance::All tags :ldap end end diff --git a/qa/qa/scenario/test/integration/mattermost.rb b/qa/qa/scenario/test/integration/mattermost.rb index 13bfad28b0b..831c6a9fcff 100644 --- a/qa/qa/scenario/test/integration/mattermost.rb +++ b/qa/qa/scenario/test/integration/mattermost.rb @@ -6,7 +6,7 @@ module QA # Run test suite against any GitLab instance where mattermost is enabled, # including staging and on-premises installation. # - class Mattermost < Test::Instance + class Mattermost < Test::Instance::All tags :core, :mattermost def perform(address, mattermost, *rspec_options) diff --git a/scripts/frontend/extract_gettext_all.js b/scripts/frontend/extract_gettext_all.js index af8cc4c3341..725522a3540 100644 --- a/scripts/frontend/extract_gettext_all.js +++ b/scripts/frontend/extract_gettext_all.js @@ -7,7 +7,7 @@ const { } = require('gettext-extractor-vue'); const ensureSingleLine = require('../../app/assets/javascripts/locale/ensure_single_line.js'); -const arguments = argumentsParser +const args = argumentsParser .option('-f, --file <file>', 'Extract message from one single file') .option('-a, --all', 'Extract message from all js/vue files') .parse(process.argv); @@ -61,12 +61,12 @@ function printJson() { console.log(JSON.stringify(messages)); } -if (arguments.file) { - vueParser.parseFile(arguments.file).then(() => printJson()); -} else if (arguments.all) { +if (args.file) { + vueParser.parseFile(args.file).then(() => printJson()); +} else if (args.all) { vueParser.parseFilesGlob('{ee/app,app}/assets/javascripts/**/*.{js,vue}').then(() => printJson()); } else { console.warn('ERROR: Please use the script correctly:'); - arguments.outputHelp(); + args.outputHelp(); process.exit(1); } diff --git a/spec/controllers/projects/commit_controller_spec.rb b/spec/controllers/projects/commit_controller_spec.rb index 916a4be2567..9e149bc4c3c 100644 --- a/spec/controllers/projects/commit_controller_spec.rb +++ b/spec/controllers/projects/commit_controller_spec.rb @@ -230,7 +230,7 @@ describe Projects::CommitController do id: master_pickable_commit.id) expect(response).to redirect_to project_commits_path(project, 'master') - expect(flash[:notice]).to eq('The commit has been successfully cherry-picked.') + expect(flash[:notice]).to eq('The commit has been successfully cherry-picked into master.') end end diff --git a/spec/factories/project_group_links.rb b/spec/factories/project_group_links.rb index d5ace9425a0..59c77627ee5 100644 --- a/spec/factories/project_group_links.rb +++ b/spec/factories/project_group_links.rb @@ -2,5 +2,6 @@ FactoryBot.define do factory :project_group_link do project group + expires_at nil end end diff --git a/spec/features/projects/commit/cherry_pick_spec.rb b/spec/features/projects/commit/cherry_pick_spec.rb index bc3c00dafe2..a61b614dbc8 100644 --- a/spec/features/projects/commit/cherry_pick_spec.rb +++ b/spec/features/projects/commit/cherry_pick_spec.rb @@ -21,7 +21,7 @@ describe 'Cherry-pick Commits' do uncheck 'create_merge_request' click_button 'Cherry-pick' end - expect(page).to have_content('The commit has been successfully cherry-picked.') + expect(page).to have_content('The commit has been successfully cherry-picked into master.') end end @@ -32,7 +32,7 @@ describe 'Cherry-pick Commits' do uncheck 'create_merge_request' click_button 'Cherry-pick' end - expect(page).to have_content('The commit has been successfully cherry-picked.') + expect(page).to have_content('The commit has been successfully cherry-picked into master.') end end @@ -59,7 +59,7 @@ describe 'Cherry-pick Commits' do page.within('#modal-cherry-pick-commit') do click_button 'Cherry-pick' end - expect(page).to have_content('The commit has been successfully cherry-picked. You can now submit a merge request to get this change into the original branch.') + expect(page).to have_content("The commit has been successfully cherry-picked into cherry-pick-#{master_pickable_commit.short_id}. You can now submit a merge request to get this change into the original branch.") expect(page).to have_content("From cherry-pick-#{master_pickable_commit.short_id} into master") end end @@ -86,7 +86,7 @@ describe 'Cherry-pick Commits' do click_button 'Cherry-pick' end - expect(page).to have_content('The commit has been successfully cherry-picked.') + expect(page).to have_content('The commit has been successfully cherry-picked into feature.') end end diff --git a/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js b/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js new file mode 100644 index 00000000000..f831a9f0a5d --- /dev/null +++ b/spec/javascripts/ide/stores/modules/file_templates/actions_spec.js @@ -0,0 +1,336 @@ +import MockAdapter from 'axios-mock-adapter'; +import axios from '~/lib/utils/axios_utils'; +import createState from '~/ide/stores/modules/file_templates/state'; +import * as actions from '~/ide/stores/modules/file_templates/actions'; +import * as types from '~/ide/stores/modules/file_templates/mutation_types'; +import testAction from 'spec/helpers/vuex_action_helper'; + +describe('IDE file templates actions', () => { + let state; + let mock; + + beforeEach(() => { + state = createState(); + + mock = new MockAdapter(axios); + }); + + afterEach(() => { + mock.restore(); + }); + + describe('requestTemplateTypes', () => { + it('commits REQUEST_TEMPLATE_TYPES', done => { + testAction( + actions.requestTemplateTypes, + null, + state, + [{ type: types.REQUEST_TEMPLATE_TYPES }], + [], + done, + ); + }); + }); + + describe('receiveTemplateTypesError', () => { + it('commits RECEIVE_TEMPLATE_TYPES_ERROR and dispatches setErrorMessage', done => { + testAction( + actions.receiveTemplateTypesError, + null, + state, + [{ type: types.RECEIVE_TEMPLATE_TYPES_ERROR }], + [ + { + type: 'setErrorMessage', + payload: { + action: jasmine.any(Function), + actionText: 'Please try again', + text: 'Error loading template types.', + }, + }, + ], + done, + ); + }); + }); + + describe('receiveTemplateTypesSuccess', () => { + it('commits RECEIVE_TEMPLATE_TYPES_SUCCESS', done => { + testAction( + actions.receiveTemplateTypesSuccess, + 'test', + state, + [{ type: types.RECEIVE_TEMPLATE_TYPES_SUCCESS, payload: 'test' }], + [], + done, + ); + }); + }); + + describe('fetchTemplateTypes', () => { + describe('success', () => { + beforeEach(() => { + mock.onGet(/api\/(.*)\/templates\/licenses/).replyOnce(200, [ + { + name: 'MIT', + }, + ]); + }); + + it('rejects if selectedTemplateType is empty', done => { + const dispatch = jasmine.createSpy('dispatch'); + + actions + .fetchTemplateTypes({ dispatch, state }) + .then(done.fail) + .catch(() => { + expect(dispatch).not.toHaveBeenCalled(); + + done(); + }); + }); + + it('dispatches actions', done => { + state.selectedTemplateType = { + key: 'licenses', + }; + + testAction( + actions.fetchTemplateTypes, + null, + state, + [], + [ + { + type: 'requestTemplateTypes', + }, + { + type: 'receiveTemplateTypesSuccess', + payload: [ + { + name: 'MIT', + }, + ], + }, + ], + done, + ); + }); + }); + + describe('error', () => { + beforeEach(() => { + mock.onGet(/api\/(.*)\/templates\/licenses/).replyOnce(500); + }); + + it('dispatches actions', done => { + state.selectedTemplateType = { + key: 'licenses', + }; + + testAction( + actions.fetchTemplateTypes, + null, + state, + [], + [ + { + type: 'requestTemplateTypes', + }, + { + type: 'receiveTemplateTypesError', + }, + ], + done, + ); + }); + }); + }); + + describe('setSelectedTemplateType', () => { + it('commits SET_SELECTED_TEMPLATE_TYPE', done => { + testAction( + actions.setSelectedTemplateType, + 'test', + state, + [{ type: types.SET_SELECTED_TEMPLATE_TYPE, payload: 'test' }], + [], + done, + ); + }); + }); + + describe('receiveTemplateError', () => { + it('dispatches setErrorMessage', done => { + testAction( + actions.receiveTemplateError, + 'test', + state, + [], + [ + { + type: 'setErrorMessage', + payload: { + action: jasmine.any(Function), + actionText: 'Please try again', + text: 'Error loading template.', + actionPayload: 'test', + }, + }, + ], + done, + ); + }); + }); + + describe('fetchTemplate', () => { + describe('success', () => { + beforeEach(() => { + mock.onGet(/api\/(.*)\/templates\/licenses\/mit/).replyOnce(200, { + content: 'MIT content', + }); + mock.onGet(/api\/(.*)\/templates\/licenses\/testing/).replyOnce(200, { + content: 'testing content', + }); + }); + + it('dispatches setFileTemplate if template already has content', done => { + const template = { + content: 'already has content', + }; + + testAction( + actions.fetchTemplate, + template, + state, + [], + [{ type: 'setFileTemplate', payload: template }], + done, + ); + }); + + it('dispatches success', done => { + const template = { + key: 'mit', + }; + + state.selectedTemplateType = { + key: 'licenses', + }; + + testAction( + actions.fetchTemplate, + template, + state, + [], + [{ type: 'setFileTemplate', payload: { content: 'MIT content' } }], + done, + ); + }); + + it('dispatches success and uses name key for API call', done => { + const template = { + name: 'testing', + }; + + state.selectedTemplateType = { + key: 'licenses', + }; + + testAction( + actions.fetchTemplate, + template, + state, + [], + [{ type: 'setFileTemplate', payload: { content: 'testing content' } }], + done, + ); + }); + }); + + describe('error', () => { + beforeEach(() => { + mock.onGet(/api\/(.*)\/templates\/licenses\/mit/).replyOnce(500); + }); + + it('dispatches error', done => { + const template = { + name: 'testing', + }; + + state.selectedTemplateType = { + key: 'licenses', + }; + + testAction( + actions.fetchTemplate, + template, + state, + [], + [{ type: 'receiveTemplateError', payload: template }], + done, + ); + }); + }); + }); + + describe('setFileTemplate', () => { + it('dispatches changeFileContent', () => { + const dispatch = jasmine.createSpy('dispatch'); + const commit = jasmine.createSpy('commit'); + const rootGetters = { + activeFile: { path: 'test' }, + }; + + actions.setFileTemplate({ dispatch, commit, rootGetters }, { content: 'content' }); + + expect(dispatch).toHaveBeenCalledWith( + 'changeFileContent', + { path: 'test', content: 'content' }, + { root: true }, + ); + }); + + it('commits SET_UPDATE_SUCCESS', () => { + const dispatch = jasmine.createSpy('dispatch'); + const commit = jasmine.createSpy('commit'); + const rootGetters = { + activeFile: { path: 'test' }, + }; + + actions.setFileTemplate({ dispatch, commit, rootGetters }, { content: 'content' }); + + expect(commit).toHaveBeenCalledWith('SET_UPDATE_SUCCESS', true); + }); + }); + + describe('undoFileTemplate', () => { + it('dispatches changeFileContent', () => { + const dispatch = jasmine.createSpy('dispatch'); + const commit = jasmine.createSpy('commit'); + const rootGetters = { + activeFile: { path: 'test', raw: 'raw content' }, + }; + + actions.undoFileTemplate({ dispatch, commit, rootGetters }); + + expect(dispatch).toHaveBeenCalledWith( + 'changeFileContent', + { path: 'test', content: 'raw content' }, + { root: true }, + ); + }); + + it('commits SET_UPDATE_SUCCESS', () => { + const dispatch = jasmine.createSpy('dispatch'); + const commit = jasmine.createSpy('commit'); + const rootGetters = { + activeFile: { path: 'test', raw: 'raw content' }, + }; + + actions.undoFileTemplate({ dispatch, commit, rootGetters }); + + expect(commit).toHaveBeenCalledWith('SET_UPDATE_SUCCESS', false); + }); + }); +}); diff --git a/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js b/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js new file mode 100644 index 00000000000..e337c3f331b --- /dev/null +++ b/spec/javascripts/ide/stores/modules/file_templates/getters_spec.js @@ -0,0 +1,30 @@ +import * as getters from '~/ide/stores/modules/file_templates/getters'; + +describe('IDE file templates getters', () => { + describe('templateTypes', () => { + it('returns list of template types', () => { + expect(getters.templateTypes().length).toBe(4); + }); + }); + + describe('showFileTemplatesBar', () => { + it('finds template type by name', () => { + expect( + getters.showFileTemplatesBar(null, { + templateTypes: getters.templateTypes(), + })('LICENSE'), + ).toEqual({ + name: 'LICENSE', + key: 'licenses', + }); + }); + + it('returns undefined if not found', () => { + expect( + getters.showFileTemplatesBar(null, { + templateTypes: getters.templateTypes(), + })('test'), + ).toBe(undefined); + }); + }); +}); diff --git a/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js b/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js new file mode 100644 index 00000000000..a51527d699f --- /dev/null +++ b/spec/javascripts/ide/stores/modules/file_templates/mutations_spec.js @@ -0,0 +1,61 @@ +import createState from '~/ide/stores/modules/file_templates/state'; +import * as types from '~/ide/stores/modules/file_templates/mutation_types'; +import mutations from '~/ide/stores/modules/file_templates/mutations'; + +describe('IDE file templates mutations', () => { + let state; + + beforeEach(() => { + state = createState(); + }); + + describe(types.REQUEST_TEMPLATE_TYPES, () => { + it('sets isLoading', () => { + mutations[types.REQUEST_TEMPLATE_TYPES](state); + + expect(state.isLoading).toBe(true); + }); + }); + + describe(types.RECEIVE_TEMPLATE_TYPES_ERROR, () => { + it('sets isLoading', () => { + state.isLoading = true; + + mutations[types.RECEIVE_TEMPLATE_TYPES_ERROR](state); + + expect(state.isLoading).toBe(false); + }); + }); + + describe(types.RECEIVE_TEMPLATE_TYPES_SUCCESS, () => { + it('sets isLoading to false', () => { + state.isLoading = true; + + mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, []); + + expect(state.isLoading).toBe(false); + }); + + it('sets templates', () => { + mutations[types.RECEIVE_TEMPLATE_TYPES_SUCCESS](state, ['test']); + + expect(state.templates).toEqual(['test']); + }); + }); + + describe(types.SET_SELECTED_TEMPLATE_TYPE, () => { + it('sets selectedTemplateType', () => { + mutations[types.SET_SELECTED_TEMPLATE_TYPE](state, 'type'); + + expect(state.selectedTemplateType).toBe('type'); + }); + }); + + describe(types.SET_UPDATE_SUCCESS, () => { + it('sets updateSuccess', () => { + mutations[types.SET_UPDATE_SUCCESS](state, true); + + expect(state.updateSuccess).toBe(true); + }); + }); +}); diff --git a/spec/javascripts/jobs/artifacts_block_spec.js b/spec/javascripts/jobs/components/artifacts_block_spec.js index c544c6f3e89..a06d287b3fa 100644 --- a/spec/javascripts/jobs/artifacts_block_spec.js +++ b/spec/javascripts/jobs/components/artifacts_block_spec.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import { getTimeago } from '~/lib/utils/datetime_utility'; import component from '~/jobs/components/artifacts_block.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Artifacts block', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/commit_block_spec.js b/spec/javascripts/jobs/components/commit_block_spec.js index f755a5042b5..e21fa9c2874 100644 --- a/spec/javascripts/jobs/commit_block_spec.js +++ b/spec/javascripts/jobs/components/commit_block_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/commit_block.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Commit block', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/empty_state_spec.js b/spec/javascripts/jobs/components/empty_state_spec.js index f8feb069fe0..dcc2b3d8a20 100644 --- a/spec/javascripts/jobs/empty_state_spec.js +++ b/spec/javascripts/jobs/components/empty_state_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/empty_state.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Empty State', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/erased_block_spec.js b/spec/javascripts/jobs/components/erased_block_spec.js index 7cf32e984a2..a4ae0c7c81e 100644 --- a/spec/javascripts/jobs/erased_block_spec.js +++ b/spec/javascripts/jobs/components/erased_block_spec.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import { getTimeago } from '~/lib/utils/datetime_utility'; import component from '~/jobs/components/erased_block.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Erased block', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/header_spec.js b/spec/javascripts/jobs/components/header_spec.js index e21e2c6d6e3..e21e2c6d6e3 100644 --- a/spec/javascripts/jobs/header_spec.js +++ b/spec/javascripts/jobs/components/header_spec.js diff --git a/spec/javascripts/jobs/job_details_mediator_spec.js b/spec/javascripts/jobs/components/job_details_mediator_spec.js index ca5c9cf87e4..3e2fb7bfbbb 100644 --- a/spec/javascripts/jobs/job_details_mediator_spec.js +++ b/spec/javascripts/jobs/components/job_details_mediator_spec.js @@ -1,7 +1,7 @@ import MockAdapter from 'axios-mock-adapter'; import axios from '~/lib/utils/axios_utils'; import JobMediator from '~/jobs/job_details_mediator'; -import job from './mock_data'; +import job from '../mock_data'; describe('JobMediator', () => { let mediator; diff --git a/spec/javascripts/jobs/job_log_spec.js b/spec/javascripts/jobs/components/job_log_spec.js index 406f1c4ccc5..6a5b375a26c 100644 --- a/spec/javascripts/jobs/job_log_spec.js +++ b/spec/javascripts/jobs/components/job_log_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/job_log.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Job Log', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/job_store_spec.js b/spec/javascripts/jobs/components/job_store_spec.js index d00faf29d1e..0dad5111b32 100644 --- a/spec/javascripts/jobs/job_store_spec.js +++ b/spec/javascripts/jobs/components/job_store_spec.js @@ -1,5 +1,5 @@ import JobStore from '~/jobs/stores/job_store'; -import job from './mock_data'; +import job from '../mock_data'; describe('Job Store', () => { let store; diff --git a/spec/javascripts/jobs/jobs_container_spec.js b/spec/javascripts/jobs/components/jobs_container_spec.js index bf52e65cbc8..f3f8ff0d031 100644 --- a/spec/javascripts/jobs/jobs_container_spec.js +++ b/spec/javascripts/jobs/components/jobs_container_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/jobs_container.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Artifacts block', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/sidebar_detail_row_spec.js b/spec/javascripts/jobs/components/sidebar_detail_row_spec.js index e6bfb0c4adc..e6bfb0c4adc 100644 --- a/spec/javascripts/jobs/sidebar_detail_row_spec.js +++ b/spec/javascripts/jobs/components/sidebar_detail_row_spec.js diff --git a/spec/javascripts/jobs/sidebar_details_block_spec.js b/spec/javascripts/jobs/components/sidebar_details_block_spec.js index 21ef5650b80..ba19534dac2 100644 --- a/spec/javascripts/jobs/sidebar_details_block_spec.js +++ b/spec/javascripts/jobs/components/sidebar_details_block_spec.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import sidebarDetailsBlock from '~/jobs/components/sidebar_details_block.vue'; -import job from './mock_data'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import job from '../mock_data'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Sidebar details block', () => { let SidebarComponent; diff --git a/spec/javascripts/jobs/stages_dropdown_spec.js b/spec/javascripts/jobs/components/stages_dropdown_spec.js index d3a5d48f56c..402289345aa 100644 --- a/spec/javascripts/jobs/stages_dropdown_spec.js +++ b/spec/javascripts/jobs/components/stages_dropdown_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/stages_dropdown.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Artifacts block', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/stuck_block_spec.js b/spec/javascripts/jobs/components/stuck_block_spec.js index 4e2108dfdfb..c320793b2be 100644 --- a/spec/javascripts/jobs/stuck_block_spec.js +++ b/spec/javascripts/jobs/components/stuck_block_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/stuck_block.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Stuck Block Job component', () => { const Component = Vue.extend(component); diff --git a/spec/javascripts/jobs/trigger_value_spec.js b/spec/javascripts/jobs/components/trigger_value_spec.js index acf91510ed2..3d41a3cfac1 100644 --- a/spec/javascripts/jobs/trigger_value_spec.js +++ b/spec/javascripts/jobs/components/trigger_value_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import component from '~/jobs/components/trigger_block.vue'; -import mountComponent from '../helpers/vue_mount_component_helper'; +import mountComponent from '../../helpers/vue_mount_component_helper'; describe('Trigger block', () => { const Component = Vue.extend(component); diff --git a/spec/lib/gitlab/auth/o_auth/provider_spec.rb b/spec/lib/gitlab/auth/o_auth/provider_spec.rb index fc35d430917..80d702cf9dc 100644 --- a/spec/lib/gitlab/auth/o_auth/provider_spec.rb +++ b/spec/lib/gitlab/auth/o_auth/provider_spec.rb @@ -1,6 +1,48 @@ require 'spec_helper' describe Gitlab::Auth::OAuth::Provider do + describe '.enabled?' do + before do + allow(described_class).to receive(:providers).and_return([:ldapmain, :google_oauth2]) + end + + context 'when OmniAuth is disabled' do + before do + allow(Gitlab::Auth).to receive(:omniauth_enabled?).and_return(false) + end + + it 'allows database auth' do + expect(described_class.enabled?('database')).to be_truthy + end + + it 'allows LDAP auth' do + expect(described_class.enabled?('ldapmain')).to be_truthy + end + + it 'does not allow other OmniAuth providers' do + expect(described_class.enabled?('google_oauth2')).to be_falsey + end + end + + context 'when OmniAuth is enabled' do + before do + allow(Gitlab::Auth).to receive(:omniauth_enabled?).and_return(true) + end + + it 'allows database auth' do + expect(described_class.enabled?('database')).to be_truthy + end + + it 'allows LDAP auth' do + expect(described_class.enabled?('ldapmain')).to be_truthy + end + + it 'allows other OmniAuth providers' do + expect(described_class.enabled?('google_oauth2')).to be_truthy + end + end + end + describe '#config_for' do context 'for an LDAP provider' do context 'when the provider exists' do diff --git a/spec/models/commit_spec.rb b/spec/models/commit_spec.rb index 5157d8fc645..d5f88e930d4 100644 --- a/spec/models/commit_spec.rb +++ b/spec/models/commit_spec.rb @@ -225,6 +225,12 @@ eos end describe 'description' do + it 'returns no_commit_message when safe_message is blank' do + allow(commit).to receive(:safe_message).and_return(nil) + + expect(commit.description).to eq('--no commit message') + end + it 'returns description of commit message if title less than 100 characters' do message = <<eos Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sodales id felis id blandit. diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 9763477a711..fd99acb3bb2 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -315,6 +315,14 @@ describe User do expect(users_with_two_factor).to eq([user_with_2fa.id]) expect(users_with_two_factor).not_to include(user_without_2fa.id) end + + it 'works with ORDER BY' do + user_with_2fa = create(:user, :two_factor_via_otp, :two_factor_via_u2f) + + expect(described_class + .with_two_factor + .reorder_by_name).to eq([user_with_2fa]) + end end describe ".without_two_factor" do diff --git a/spec/requests/api/files_spec.rb b/spec/requests/api/files_spec.rb index 0aec186f738..a2b41d56b8b 100644 --- a/spec/requests/api/files_spec.rb +++ b/spec/requests/api/files_spec.rb @@ -313,7 +313,7 @@ describe API::Files do describe "POST /projects/:id/repository/files/:file_path" do let!(:file_path) { "new_subfolder%2Fnewfile%2Erb" } - let(:valid_params) do + let(:params) do { branch: "master", content: "puts 8", @@ -322,7 +322,7 @@ describe API::Files do end it "creates a new file in project repo" do - post api(route(file_path), user), valid_params + post api(route(file_path), user), params expect(response).to have_gitlab_http_status(201) expect(json_response["file_path"]).to eq(CGI.unescape(file_path)) @@ -337,20 +337,28 @@ describe API::Files do expect(response).to have_gitlab_http_status(400) end + it 'returns a 400 bad request if the commit message is empty' do + params[:commit_message] = '' + + post api(route(file_path), user), params + + expect(response).to have_gitlab_http_status(400) + end + it "returns a 400 if editor fails to create file" do allow_any_instance_of(Repository).to receive(:create_file) .and_raise(Gitlab::Git::CommitError, 'Cannot create file') - post api(route("any%2Etxt"), user), valid_params + post api(route("any%2Etxt"), user), params expect(response).to have_gitlab_http_status(400) end context "when specifying an author" do it "creates a new file with the specified author" do - valid_params.merge!(author_email: author_email, author_name: author_name) + params.merge!(author_email: author_email, author_name: author_name) - post api(route("new_file_with_author%2Etxt"), user), valid_params + post api(route("new_file_with_author%2Etxt"), user), params expect(response).to have_gitlab_http_status(201) expect(response.content_type).to eq('application/json') @@ -364,7 +372,7 @@ describe API::Files do let!(:project) { create(:project_empty_repo, namespace: user.namespace ) } it "creates a new file in project repo" do - post api(route("newfile%2Erb"), user), valid_params + post api(route("newfile%2Erb"), user), params expect(response).to have_gitlab_http_status(201) expect(json_response['file_path']).to eq('newfile.rb') @@ -376,7 +384,7 @@ describe API::Files do end describe "PUT /projects/:id/repository/files" do - let(:valid_params) do + let(:params) do { branch: 'master', content: 'puts 8', @@ -385,7 +393,7 @@ describe API::Files do end it "updates existing file in project repo" do - put api(route(file_path), user), valid_params + put api(route(file_path), user), params expect(response).to have_gitlab_http_status(200) expect(json_response['file_path']).to eq(CGI.unescape(file_path)) @@ -394,8 +402,16 @@ describe API::Files do expect(last_commit.author_name).to eq(user.name) end + it 'returns a 400 bad request if the commit message is empty' do + params[:commit_message] = '' + + put api(route(file_path), user), params + + expect(response).to have_gitlab_http_status(400) + end + it "returns a 400 bad request if update existing file with stale last commit id" do - params_with_stale_id = valid_params.merge(last_commit_id: 'stale') + params_with_stale_id = params.merge(last_commit_id: 'stale') put api(route(file_path), user), params_with_stale_id @@ -406,7 +422,7 @@ describe API::Files do it "updates existing file in project repo with accepts correct last commit id" do last_commit = Gitlab::Git::Commit .last_for_path(project.repository, 'master', URI.unescape(file_path)) - params_with_correct_id = valid_params.merge(last_commit_id: last_commit.id) + params_with_correct_id = params.merge(last_commit_id: last_commit.id) put api(route(file_path), user), params_with_correct_id @@ -421,9 +437,9 @@ describe API::Files do context "when specifying an author" do it "updates a file with the specified author" do - valid_params.merge!(author_email: author_email, author_name: author_name, content: "New content") + params.merge!(author_email: author_email, author_name: author_name, content: "New content") - put api(route(file_path), user), valid_params + put api(route(file_path), user), params expect(response).to have_gitlab_http_status(200) last_commit = project.repository.commit.raw @@ -434,7 +450,7 @@ describe API::Files do end describe "DELETE /projects/:id/repository/files" do - let(:valid_params) do + let(:params) do { branch: 'master', commit_message: 'Changed file' @@ -442,7 +458,7 @@ describe API::Files do end it "deletes existing file in project repo" do - delete api(route(file_path), user), valid_params + delete api(route(file_path), user), params expect(response).to have_gitlab_http_status(204) end @@ -453,19 +469,27 @@ describe API::Files do expect(response).to have_gitlab_http_status(400) end + it 'returns a 400 bad request if the commit message is empty' do + params[:commit_message] = '' + + delete api(route(file_path), user), params + + expect(response).to have_gitlab_http_status(400) + end + it "returns a 400 if fails to delete file" do allow_any_instance_of(Repository).to receive(:delete_file).and_raise(Gitlab::Git::CommitError, 'Cannot delete file') - delete api(route(file_path), user), valid_params + delete api(route(file_path), user), params expect(response).to have_gitlab_http_status(400) end context "when specifying an author" do it "removes a file with the specified author" do - valid_params.merge!(author_email: author_email, author_name: author_name) + params.merge!(author_email: author_email, author_name: author_name) - delete api(route(file_path), user), valid_params + delete api(route(file_path), user), params expect(response).to have_gitlab_http_status(204) end diff --git a/spec/requests/api/project_snippets_spec.rb b/spec/requests/api/project_snippets_spec.rb index a3b5e8c6223..5dec0bc778c 100644 --- a/spec/requests/api/project_snippets_spec.rb +++ b/spec/requests/api/project_snippets_spec.rb @@ -116,6 +116,14 @@ describe API::ProjectSnippets do expect(response).to have_gitlab_http_status(400) end + it 'returns 400 for empty code field' do + params[:code] = '' + + post api("/projects/#{project.id}/snippets/", admin), params + + expect(response).to have_gitlab_http_status(400) + end + context 'when the snippet is spam' do def create_snippet(project, snippet_params = {}) project.add_developer(user) @@ -180,6 +188,14 @@ describe API::ProjectSnippets do expect(response).to have_gitlab_http_status(400) end + it 'returns 400 for empty code field' do + new_content = '' + + put api("/projects/#{snippet.project.id}/snippets/#{snippet.id}/", admin), code: new_content + + expect(response).to have_gitlab_http_status(400) + end + context 'when the snippet is spam' do def update_snippet(snippet_params = {}) put api("/projects/#{snippet.project.id}/snippets/#{snippet.id}", admin), snippet_params diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 881eff5d09d..b6f92042ecc 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -913,12 +913,28 @@ describe API::Projects do expect(json_response['shared_with_groups'][0]['group_id']).to eq(group.id) expect(json_response['shared_with_groups'][0]['group_name']).to eq(group.name) expect(json_response['shared_with_groups'][0]['group_access_level']).to eq(link.group_access) + expect(json_response['shared_with_groups'][0]['expires_at']).to be_nil expect(json_response['only_allow_merge_if_pipeline_succeeds']).to eq(project.only_allow_merge_if_pipeline_succeeds) expect(json_response['only_allow_merge_if_all_discussions_are_resolved']).to eq(project.only_allow_merge_if_all_discussions_are_resolved) expect(json_response['merge_method']).to eq(project.merge_method.to_s) expect(json_response['readme_url']).to eq(project.readme_url) end + it 'returns a group link with expiration date' do + group = create(:group) + expires_at = 5.days.from_now.to_date + link = create(:project_group_link, project: project, group: group, expires_at: expires_at) + + get api("/projects/#{project.id}", user) + + expect(json_response['shared_with_groups']).to be_an Array + expect(json_response['shared_with_groups'].length).to eq(1) + expect(json_response['shared_with_groups'][0]['group_id']).to eq(group.id) + expect(json_response['shared_with_groups'][0]['group_name']).to eq(group.name) + expect(json_response['shared_with_groups'][0]['group_access_level']).to eq(link.group_access) + expect(json_response['shared_with_groups'][0]['expires_at']).to eq(expires_at.to_s) + end + it 'returns a project by path name' do get api("/projects/#{project.id}", user) expect(response).to have_gitlab_http_status(200) diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb index a3c9a660c2f..d4528256640 100644 --- a/spec/services/git_push_service_spec.rb +++ b/spec/services/git_push_service_spec.rb @@ -204,16 +204,37 @@ describe GitPushService, services: true do end describe "Push Event" do - let!(:push_data) { push_data_from_service(project, user, oldrev, newrev, ref) } - let(:event) { Event.find_by_action(Event::PUSHED) } + context "with an existing branch" do + let!(:push_data) { push_data_from_service(project, user, oldrev, newrev, ref) } + let(:event) { Event.find_by_action(Event::PUSHED) } - it { expect(event).to be_an_instance_of(PushEvent) } - it { expect(event.project).to eq(project) } - it { expect(event.action).to eq(Event::PUSHED) } - it { expect(event.push_event_payload).to be_an_instance_of(PushEventPayload) } - it { expect(event.push_event_payload.commit_from).to eq(oldrev) } - it { expect(event.push_event_payload.commit_to).to eq(newrev) } - it { expect(event.push_event_payload.ref).to eq('master') } + it 'generates a push event with one commit' do + expect(event).to be_an_instance_of(PushEvent) + expect(event.project).to eq(project) + expect(event.action).to eq(Event::PUSHED) + expect(event.push_event_payload).to be_an_instance_of(PushEventPayload) + expect(event.push_event_payload.commit_from).to eq(oldrev) + expect(event.push_event_payload.commit_to).to eq(newrev) + expect(event.push_event_payload.ref).to eq('master') + expect(event.push_event_payload.commit_count).to eq(1) + end + end + + context "with a new branch" do + let!(:new_branch_data) { push_data_from_service(project, user, Gitlab::Git::BLANK_SHA, newrev, ref) } + let(:event) { Event.find_by_action(Event::PUSHED) } + + it 'generates a push event with more than one commit' do + expect(event).to be_an_instance_of(PushEvent) + expect(event.project).to eq(project) + expect(event.action).to eq(Event::PUSHED) + expect(event.push_event_payload).to be_an_instance_of(PushEventPayload) + expect(event.push_event_payload.commit_from).to be_nil + expect(event.push_event_payload.commit_to).to eq(newrev) + expect(event.push_event_payload.ref).to eq('master') + expect(event.push_event_payload.commit_count).to be > 1 + end + end context "Updates merge requests" do it "when pushing a new branch for the first time" do @@ -223,9 +244,14 @@ describe GitPushService, services: true do end end - context "Sends System Push data" do - it "when pushing on a branch" do - expect(SystemHookPushWorker).to receive(:perform_async).with(push_data, :push_hooks) + describe 'system hooks' do + let!(:push_data) { push_data_from_service(project, user, oldrev, newrev, ref) } + let(:system_hooks_service) { SystemHooksService.new } + + it "sends a system hook after pushing a branch" do + expect(SystemHooksService).to receive(:new).and_return(system_hooks_service) + expect(system_hooks_service).to receive(:execute_hooks).with(push_data, :push_hooks) + execute_service(project, user, oldrev, newrev, ref) end end diff --git a/yarn.lock b/yarn.lock index 4326245d2ac..db3b0bbe573 100644 --- a/yarn.lock +++ b/yarn.lock @@ -78,10 +78,14 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@gitlab-org/gitlab-svgs@^1.23.0", "@gitlab-org/gitlab-svgs@^1.27.0": +"@gitlab-org/gitlab-svgs@^1.23.0": version "1.27.0" resolved "https://registry.yarnpkg.com/@gitlab-org/gitlab-svgs/-/gitlab-svgs-1.27.0.tgz#638e70399ebd59e503732177316bb9a18bf7a13f" +"@gitlab-org/gitlab-svgs@^1.28.0": + version "1.28.0" + resolved "https://registry.yarnpkg.com/@gitlab-org/gitlab-svgs/-/gitlab-svgs-1.28.0.tgz#f689dfd46504df0a75027d6dd4ea01a71cd46f88" + "@gitlab-org/gitlab-ui@1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@gitlab-org/gitlab-ui/-/gitlab-ui-1.0.5.tgz#a64b402650494115c8b494a44b72c2d6fbf33fff" |