mirror of
https://github.com/gitlabhq/gitlabhq.git
synced 2025-07-29 12:48:15 +00:00
Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
@ -54,6 +54,14 @@ export default {
|
||||
`${this.startInNumber} ${this.startInUnit}${plural}`,
|
||||
);
|
||||
},
|
||||
onStartInNumberInput($event) {
|
||||
this.startInNumber = $event;
|
||||
this.updateStartIn();
|
||||
},
|
||||
onStartInUnitInput($event) {
|
||||
this.startInUnit = $event;
|
||||
this.updateStartIn();
|
||||
},
|
||||
updateWhen(when) {
|
||||
this.$emit('update-job', 'rules[0].when', when);
|
||||
|
||||
@ -95,23 +103,23 @@ export default {
|
||||
>
|
||||
<div class="gl-mt-5 gl-flex">
|
||||
<gl-form-input
|
||||
v-model="startInNumber"
|
||||
:value="startInNumber"
|
||||
class="gl-mr-3 gl-grow gl-basis-1/2"
|
||||
data-testid="rules-start-in-number-input"
|
||||
type="number"
|
||||
:state="isStartValid"
|
||||
:class="{ 'gl-invisible': !isDelayed }"
|
||||
number
|
||||
@input="updateStartIn"
|
||||
@input="onStartInNumberInput"
|
||||
/>
|
||||
<gl-form-select
|
||||
v-model="startInUnit"
|
||||
:value="startInUnit"
|
||||
class="gl-grow gl-basis-1/2"
|
||||
data-testid="rules-start-in-unit-select"
|
||||
:state="isStartValid"
|
||||
:class="{ 'gl-invisible': !isDelayed }"
|
||||
:options="$options.unitOptions"
|
||||
@input="updateStartIn"
|
||||
@input="onStartInUnitInput"
|
||||
/>
|
||||
</div>
|
||||
</gl-form-group>
|
||||
|
@ -7,6 +7,7 @@ import {
|
||||
GlTableLite,
|
||||
GlTooltipDirective as GlTooltip,
|
||||
} from '@gitlab/ui';
|
||||
import EMPTY_STATE_SVG_URL from '@gitlab/svgs/dist/illustrations/status/status-nothing-md.svg';
|
||||
import { isEmpty, isEqual } from 'lodash';
|
||||
|
||||
import { s__, __ } from '~/locale';
|
||||
@ -23,6 +24,7 @@ import { WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';
|
||||
import PaginationBar from '~/vue_shared/components/pagination_bar/pagination_bar.vue';
|
||||
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
|
||||
import LocalStorageSync from '~/vue_shared/components/local_storage_sync.vue';
|
||||
import PageHeading from '~/vue_shared/components/page_heading.vue';
|
||||
|
||||
import { isFailed, isImporting } from '../utils';
|
||||
import { DEFAULT_ERROR } from '../utils/error_messages';
|
||||
@ -53,6 +55,7 @@ export default {
|
||||
ImportStatus,
|
||||
TimeAgo,
|
||||
LocalStorageSync,
|
||||
PageHeading,
|
||||
},
|
||||
|
||||
directives: {
|
||||
@ -263,23 +266,21 @@ export default {
|
||||
gitlabLogo: window.gon.gitlab_logo,
|
||||
historyPaginationSizePersistKey: HISTORY_PAGINATION_SIZE_PERSIST_KEY,
|
||||
BULK_IMPORT_STATIC_ITEMS,
|
||||
EMPTY_STATE_SVG_URL,
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<h1 class="gl-my-0 gl-flex gl-items-center gl-gap-3 gl-py-4 gl-text-size-h1">
|
||||
<img :src="$options.gitlabLogo" :alt="__('GitLab Logo')" class="gl-h-6 gl-w-6" />
|
||||
<span>{{ s__('BulkImport|Migration history') }}</span>
|
||||
</h1>
|
||||
|
||||
<gl-loading-icon v-if="loading" size="lg" class="gl-mt-5" />
|
||||
<gl-empty-state
|
||||
v-else-if="!hasHistoryItems"
|
||||
:svg-path="$options.EMPTY_STATE_SVG_URL"
|
||||
:title="s__('BulkImport|No history is available')"
|
||||
:description="s__('BulkImport|Your imported groups and projects appear here.')"
|
||||
/>
|
||||
<template v-else>
|
||||
<page-heading :heading="s__('BulkImport|Migration history')" />
|
||||
<gl-table-lite :fields="$options.fields" :items="historyItems" class="gl-w-full">
|
||||
<template #cell(destination_name)="{ item }">
|
||||
<gl-icon
|
||||
|
@ -151,6 +151,7 @@ export default {
|
||||
workItemNamespace: null,
|
||||
previewNote: null,
|
||||
workItemNotes: [],
|
||||
notesCached: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -207,8 +208,13 @@ export default {
|
||||
parentId: this.parentId,
|
||||
};
|
||||
},
|
||||
// On the first component load, we want to show per-page skeleton notes
|
||||
// On any subsequent refetch, we want to show the cached notes until all notes are loaded
|
||||
notesSource() {
|
||||
return this.notesCached ?? this.workItemNotes;
|
||||
},
|
||||
notesArray() {
|
||||
const notes = this.workItemNotes?.nodes || [];
|
||||
const notes = this.notesSource.nodes || [];
|
||||
|
||||
let visibleNotes = collapseSystemNotes(notes);
|
||||
|
||||
@ -273,7 +279,7 @@ export default {
|
||||
});
|
||||
}
|
||||
|
||||
const notes = this.workItemNotes?.nodes || [];
|
||||
const notes = this.notesSource?.nodes || [];
|
||||
const n = notes.find(matchingNoteId);
|
||||
return Boolean(n);
|
||||
},
|
||||
@ -347,6 +353,7 @@ export default {
|
||||
this.fetchMoreNotes();
|
||||
} else {
|
||||
this.cleanupScrollListener?.();
|
||||
this.notesCached = this.workItemNotes;
|
||||
}
|
||||
},
|
||||
subscribeToMore: [
|
||||
@ -575,7 +582,7 @@ export default {
|
||||
/>
|
||||
</ul>
|
||||
</div>
|
||||
<work-item-notes-loading v-if="formAtTop && isLoadingMore" />
|
||||
<work-item-notes-loading v-if="formAtTop && isLoadingMore && !notesCached" />
|
||||
<ul class="notes main-notes-list timeline">
|
||||
<template v-for="discussion in notesArray">
|
||||
<system-note
|
||||
@ -614,7 +621,7 @@ export default {
|
||||
|
||||
<work-item-history-only-filter-note v-if="commentsDisabled" @changeFilter="setFilter" />
|
||||
</ul>
|
||||
<work-item-notes-loading v-if="!formAtTop && isLoadingMore" />
|
||||
<work-item-notes-loading v-if="!formAtTop && isLoadingMore && !notesCached" />
|
||||
<div v-if="!formAtTop && !commentsDisabled" class="js-comment-form">
|
||||
<ul class="notes notes-form timeline">
|
||||
<work-item-add-note
|
||||
|
@ -12,6 +12,8 @@ additional_properties:
|
||||
description: whether tests were selected or full suite was executed
|
||||
value:
|
||||
description: number of selected tests
|
||||
property:
|
||||
description: whether the mr label is frontend, backend, fullstack or other
|
||||
product_group: development_analytics
|
||||
milestone: '17.11'
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/184867
|
||||
|
@ -181,13 +181,19 @@ You can define a devfile in the following locations, relative to your project's
|
||||
|
||||
- `schemaVersion` must be [`2.2.0`](https://devfile.io/docs/2.2.0/devfile-schema).
|
||||
- The devfile must have at least one component.
|
||||
- The devfile size must not exceed 3 MB.
|
||||
- For `components`:
|
||||
- Names must not start with `gl-`.
|
||||
- Only [`container`](#container-component-type) and `volume` are supported.
|
||||
- For `commands`, IDs must not start with `gl-`.
|
||||
- For `commands`:
|
||||
- IDs must not start with `gl-`.
|
||||
- Only `exec` and `apply` command types are supported.
|
||||
- For `exec` commands, only the following options are supported: `commandLine`, `component`, `label`, and `hotReloadCapable`.
|
||||
- When `hotReloadCapable` is specified for `exec` commands, it must be set to `false`.
|
||||
- For `events`:
|
||||
- Names must not start with `gl-`.
|
||||
- Only `preStart` is supported.
|
||||
- Only `preStart` and [`postStart`](#user-defined-poststart-events) are supported.
|
||||
- The Devfile standard only allows exec commands to be linked to `postStart` events. If you want an apply command, you must use a `preStart` event.
|
||||
- `parent`, `projects`, and `starterProjects` are not supported.
|
||||
- For `variables`, keys must not start with `gl-`, `gl_`, `GL-`, or `GL_`.
|
||||
- For `attributes`:
|
||||
@ -212,6 +218,19 @@ The `container` component type supports the following schema properties only:
|
||||
| `endpoints` | Port mappings to expose from the container. Names must not start with `gl-`. |
|
||||
| `volumeMounts` | Storage volume to mount in the container. |
|
||||
|
||||
### User-defined `postStart` events
|
||||
|
||||
You can define custom `postStart` events in your devfile to run commands after the workspace starts. Use this type of event to:
|
||||
|
||||
- Set up development dependencies.
|
||||
- Configure the workspace environment.
|
||||
- Run initialization scripts.
|
||||
|
||||
`postStart` event names must not start with `gl-` and can only reference `exec` type commands.
|
||||
|
||||
For an example that shows how to configure `postStart` events,
|
||||
see the [example configurations](#example-configurations).
|
||||
|
||||
### Example configurations
|
||||
|
||||
The following is an example devfile configuration:
|
||||
@ -232,14 +251,31 @@ components:
|
||||
endpoints:
|
||||
- name: http-3000
|
||||
targetPort: 3000
|
||||
commands:
|
||||
- id: install-dependencies
|
||||
exec:
|
||||
component: tooling-container
|
||||
commandLine: "npm install"
|
||||
- id: setup-environment
|
||||
exec:
|
||||
component: tooling-container
|
||||
commandLine: "echo 'Setting up development environment'"
|
||||
events:
|
||||
postStart:
|
||||
- install-dependencies
|
||||
- setup-environment
|
||||
```
|
||||
|
||||
{{< alert type="note" >}}
|
||||
|
||||
This container image is for demonstration purposes only. To use your own container image,
|
||||
see [Arbitrary user IDs](#arbitrary-user-ids).
|
||||
|
||||
{{< /alert >}}
|
||||
|
||||
For more information, see the [devfile documentation](https://devfile.io/docs/2.2.0/devfile-schema).
|
||||
For other examples, see the [`examples` projects](https://gitlab.com/gitlab-org/remote-development/examples).
|
||||
|
||||
This container image is for demonstration purposes only.
|
||||
To use your own container image, see [Arbitrary user IDs](#arbitrary-user-ids).
|
||||
|
||||
## Workspace container requirements
|
||||
|
||||
By default, workspaces inject and start the [GitLab VS Code fork](https://gitlab.com/gitlab-org/gitlab-web-ide-vscode-fork)
|
||||
|
@ -28458,9 +28458,6 @@ msgstr ""
|
||||
msgid "GitLab KAS"
|
||||
msgstr ""
|
||||
|
||||
msgid "GitLab Logo"
|
||||
msgstr ""
|
||||
|
||||
msgid "GitLab Next|Next"
|
||||
msgstr ""
|
||||
|
||||
|
@ -63,7 +63,7 @@
|
||||
"@gitlab/duo-ui": "^8.22.1",
|
||||
"@gitlab/favicon-overlay": "2.0.0",
|
||||
"@gitlab/fonts": "^1.3.0",
|
||||
"@gitlab/query-language-rust": "0.9.0",
|
||||
"@gitlab/query-language-rust": "0.9.2",
|
||||
"@gitlab/svgs": "3.134.0",
|
||||
"@gitlab/ui": "114.7.1",
|
||||
"@gitlab/vue-router-vue3": "npm:vue-router@4.5.1",
|
||||
|
@ -84,10 +84,21 @@ namespace :ci do
|
||||
|
||||
logger.info("Following specs were selected for execution: '#{tests_from_mapping}'")
|
||||
begin
|
||||
type_of_mr = if mr_labels.include?("frontend") && mr_labels.include?("backend")
|
||||
"fullstack"
|
||||
elsif mr_labels.include?("backend")
|
||||
"backend"
|
||||
elsif mr_labels.include?("frontend")
|
||||
"frontend"
|
||||
else
|
||||
"other"
|
||||
end
|
||||
|
||||
QA::Tools::Ci::PipelineCreator.new(tests_from_mapping, **creator_args).create(pipelines_for_selective_improved)
|
||||
properties = {
|
||||
label: tests_from_mapping.nil? || tests_from_mapping.empty? ? 'non-selective' : 'selective',
|
||||
value: tests_from_mapping.nil? || tests_from_mapping.empty? ? 0 : tests_from_mapping.count
|
||||
value: tests_from_mapping.nil? || tests_from_mapping.empty? ? 0 : tests_from_mapping.count,
|
||||
property: type_of_mr
|
||||
}
|
||||
Tooling::Events::TrackPipelineEvents.new(logger: logger).send_event(
|
||||
"e2e_tests_selected_for_execution_gitlab_pipeline",
|
||||
|
@ -57,7 +57,6 @@ spec/frontend/cascading_settings/components/lock_tooltip_spec.js
|
||||
spec/frontend/ci/artifacts/components/artifacts_bulk_delete_spec.js
|
||||
spec/frontend/ci/ci_variable_list/components/ci_variable_shared_spec.js
|
||||
spec/frontend/ci/pipeline_editor/components/header/validation_segment_spec.js
|
||||
spec/frontend/ci/pipeline_editor/components/job_assistant_drawer/accordion_items/rules_item_spec.js
|
||||
spec/frontend/ci/pipeline_editor/components/pipeline_editor_tabs_spec.js
|
||||
spec/frontend/ci/pipeline_editor/pipeline_editor_app_spec.js
|
||||
spec/frontend/ci/runner/components/registration/runner_instructions/runner_instructions_modal_spec.js
|
||||
|
@ -1446,10 +1446,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@gitlab/noop/-/noop-1.0.1.tgz#71a831146ee02732b4a61d2d3c11204564753454"
|
||||
integrity sha512-s++4wjMYeDvBp9IO59DBrWjy8SE/gFkjTDO5ck2W0S6Vv7OlqgErwL7pHngAnrSmTJAzyUG8wHGqo0ViS4jn5Q==
|
||||
|
||||
"@gitlab/query-language-rust@0.9.0":
|
||||
version "0.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@gitlab/query-language-rust/-/query-language-rust-0.9.0.tgz#b00ffe1b2df95fce4a9f159e9099e49035940e3a"
|
||||
integrity sha512-3kwdxvGPHG8DzYUk400+zCB6ofFuTl6f+rnjnZmhCZuzXm9FfmNqvqj5MS1QHHfLQegGJVCz9FkdUStX5PyGXA==
|
||||
"@gitlab/query-language-rust@0.9.2":
|
||||
version "0.9.2"
|
||||
resolved "https://registry.yarnpkg.com/@gitlab/query-language-rust/-/query-language-rust-0.9.2.tgz#be157dd8232563738ff03182bdc7cad7e6711d0f"
|
||||
integrity sha512-3X/9Sm0Mz9W9ltI/etkrFfCBk7f2L2p5hwdB7QW9cths2Q1WxXALfhT9XtzBptdw4/wikfXvfvrViSe7bYIJ+w==
|
||||
|
||||
"@gitlab/stylelint-config@6.2.2":
|
||||
version "6.2.2"
|
||||
|
Reference in New Issue
Block a user