Skip to content
Snippets Groups Projects
Commit 2c6206c9 authored by 🤖 GitLab Bot 🤖's avatar 🤖 GitLab Bot 🤖
Browse files

Add latest changes from gitlab-org/gitlab@master

parent 68f3080d
No related branches found
No related tags found
No related merge requests found
Showing
with 59 additions and 109 deletions
import Vue from 'vue';
import ProjectRunnersApp from './project_runners_app.vue';
export const initProjectRunners = (selector = '#js-project-runners') => {
const el = document.querySelector(selector);
if (!el) {
return null;
}
const { projectFullPath } = el.dataset;
return new Vue({
el,
render(h) {
return h(ProjectRunnersApp, {
props: {
projectFullPath,
},
});
},
});
};
<script>
export default {
props: {
projectFullPath: {
required: true,
type: String,
},
},
};
</script>
<template>
<div>
<!--
Under development
Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/33803
Feature rollout: https://gitlab.com/gitlab-org/gitlab/-/issues/386573
-->
</div>
</template>
......@@ -12,7 +12,6 @@ import initSettingsPanels from '~/settings_panels';
import { initTokenAccess } from '~/token_access';
import { initCiSecureFiles } from '~/ci_secure_files';
import initDeployTokens from '~/deploy_tokens';
import { initProjectRunners } from '~/ci/runner/project_runners';
import { initProjectRunnersRegistrationDropdown } from '~/ci/runner/project_runners/register';
import { initGeneralPipelinesOptions } from '~/ci_settings_general_pipeline';
......@@ -45,7 +44,6 @@ initDeployFreeze();
initSettingsPipelinesTriggers();
initArtifactsSettings();
initProjectRunners();
initProjectRunnersRegistrationDropdown();
initSharedRunnersToggle();
initRefSwitcherBadges();
......
......@@ -29,17 +29,25 @@ export default {
v-gl-tooltip:super-sidebar.hover.noninteractive.bottom.ds500="$options.i18n.homepage"
class="brand-logo"
:href="rootPath"
:title="$options.i18n.homepage"
data-track-action="click_link"
data-track-label="gitlab_logo_link"
data-track-property="nav_core_menu"
>
<span class="gl-sr-only">{{ $options.i18n.homepage }}</span>
<!-- eslint-disable @gitlab/vue-require-i18n-attribute-strings -->
<img
v-if="logoUrl"
alt=""
data-testid="brand-header-custom-logo"
:src="logoUrl"
class="gl-h-6 gl-max-w-full"
/>
<span v-else v-safe-html="$options.logo" data-testid="brand-header-default-logo"></span>
<!-- eslint-enable @gitlab/vue-require-i18n-attribute-strings -->
<span
v-else
v-safe-html="$options.logo"
aria-hidden
data-testid="brand-header-default-logo"
></span>
</a>
</template>
......@@ -44,10 +44,7 @@
= _("Runners are processes that pick up and execute CI/CD jobs for GitLab.")
= link_to s_('What is GitLab Runner?'), 'https://docs.gitlab.com/runner/', target: '_blank', rel: 'noopener noreferrer'
.settings-content
- if Feature.enabled?(:project_runners_vue_ui, @project)
#js-project-runners{ data: { project_full_path: @project.full_path } }
- else
= render 'projects/runners/settings'
= render 'projects/runners/settings'
- if Gitlab::CurrentSettings.current_application_settings.keep_latest_artifact?
%section.settings.no-animate#js-artifacts-settings{ class: ('expanded' if expanded) }
......
<svg class="tanuki-logo" width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg role="img" class="tanuki-logo" width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="tanuki-shape tanuki" d="m24.507 9.5-.034-.09L21.082.562a.896.896 0 0 0-1.694.091l-2.29 7.01H7.825L5.535.653a.898.898 0 0 0-1.694-.09L.451 9.411.416 9.5a6.297 6.297 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.051 1.051 0 0 0 1.268 0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
fill="#E24329"/>
<path class="tanuki-shape right-cheek" d="m24.507 9.5-.034-.09a11.44 11.44 0 0 0-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.297 6.297 0 0 0 24.507 9.5Z"
......
---
name: ci_refactor_external_rules
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/129145
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/421731
milestone: '16.3'
type: development
group: group::pipeline authoring
default_enabled: false
---
name: project_runners_vue_ui
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107646
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386573
milestone: '15.8'
type: development
group: group::runner
default_enabled: false
# frozen_string_literal: true
class AddLicensesToSbomOccurrences < Gitlab::Database::Migration[2.1]
def change
add_column :sbom_occurrences, :licenses, :jsonb, default: []
end
end
# frozen_string_literal: true
class RenamePlansTitlesWithLegacyPlanNames < Gitlab::Database::Migration[2.1]
disable_ddl_transaction!
restrict_gitlab_migration gitlab_schema: :gitlab_main_clusterwide
def up
execute "UPDATE plans SET title = 'Premium' WHERE name = 'premium'"
execute "UPDATE plans SET title = 'Ultimate' WHERE name = 'ultimate'"
end
def down
# no-op
# We don't know or even want to revert back to the old plan titles.
end
end
df42fc7fca6b286929f74bec819d0a79df21c88a09b3e7b5c409666dacde7776
\ No newline at end of file
1d3d6acf9ec3bac7a4878570db79d1e0771760ff503acd9d333a04d4725c7e8a
\ No newline at end of file
......@@ -22649,6 +22649,7 @@ CREATE TABLE sbom_occurrences (
package_manager text,
component_name text,
input_file_path text,
licenses jsonb DEFAULT '[]'::jsonb,
CONSTRAINT check_3f2d2c7ffc CHECK ((char_length(package_manager) <= 255)),
CONSTRAINT check_9b29021fa8 CHECK ((char_length(component_name) <= 255)),
CONSTRAINT check_bd1367d4c1 CHECK ((char_length(input_file_path) <= 255))
......@@ -201,7 +201,6 @@ This list of limitations only reflects the latest version of GitLab. If you are
- GitLab Runners cannot register with a **secondary** site. Support for this is [planned for the future](https://gitlab.com/gitlab-org/gitlab/-/issues/3294).
- [Selective synchronization](replication/configuration.md#selective-synchronization) only limits what repositories and files are replicated. The entire PostgreSQL data is still replicated. Selective synchronization is not built to accommodate compliance / export control use cases.
- [Pages access control](../../user/project/pages/pages_access_control.md) doesn't work on secondaries. See [GitLab issue #9336](https://gitlab.com/gitlab-org/gitlab/-/issues/9336) for details.
- [GitLab chart with Geo](https://docs.gitlab.com/charts/advanced/geo/) does not support [Unified URLs](secondary_proxy/index.md#set-up-a-unified-url-for-geo-sites). See [GitLab issue #3522](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3522) for more details.
- [Disaster recovery](disaster_recovery/index.md) for multi-secondary sites causes downtime due to the complete re-synchronization and re-configuration of all non-promoted secondaries.
- For Git over SSH, to make the project clone URL display correctly regardless of which site you are browsing, secondary sites must use the same port as the primary. [GitLab issue #339262](https://gitlab.com/gitlab-org/gitlab/-/issues/339262) proposes to remove this limitation.
- Git push over SSH against a secondary site does not work for pushes over 1.86 GB. [GitLab issue #413109](https://gitlab.com/gitlab-org/gitlab/-/issues/413109) tracks this bug.
......
......@@ -72,8 +72,6 @@ The steps required are:
Depending on the size of the table, a background migration for cleanup could be required in the next release.
See the [`NOT NULL` constraints on large tables](not_null_constraints.md#not-null-constraints-on-large-tables) section for more information.
- Create an issue for the next milestone to validate the `NOT NULL` constraint.
1. Release `N.M+1` (next release)
1. Make sure all existing records on GitLab.com have attribute set. If not, go back to step 1 from Release `N.M`.
......
......@@ -19,11 +19,6 @@ class Rules < ::Gitlab::Config::Entry::ComposableArray
validates :config, type: Array
end
# Remove this method when FF `ci_refactor_external_rules` is removed
def value
Feature.enabled?(:ci_refactor_external_rules) ? super : @config
end
def composable_class
Entry::Include::Rules::Rule
end
......
......@@ -27,7 +27,7 @@ class Rules::Rule < ::Gitlab::Config::Entry::Node
end
def value
Feature.enabled?(:ci_refactor_external_rules) ? config.compact : super
config.compact
end
end
end
......
......@@ -5,29 +5,19 @@ module Ci
class Config
module External
class Rules
# Remove these two constants when FF `ci_refactor_external_rules` is removed
ALLOWED_KEYS = Entry::Include::Rules::Rule::ALLOWED_KEYS
ALLOWED_WHEN = Entry::Include::Rules::Rule::ALLOWED_WHEN
InvalidIncludeRulesError = Class.new(Mapper::Error)
def initialize(rule_hashes)
if Feature.enabled?(:ci_refactor_external_rules)
return unless rule_hashes
# We must compose the include rules entry here because included
# files are expanded before `@root.compose!` runs in Ci::Config.
rules_entry = Entry::Include::Rules.new(rule_hashes)
rules_entry.compose!
return unless rule_hashes
raise InvalidIncludeRulesError, "include:#{rules_entry.errors.first}" unless rules_entry.valid?
# We must compose the include rules entry here because included
# files are expanded before `@root.compose!` runs in Ci::Config.
rules_entry = Entry::Include::Rules.new(rule_hashes)
rules_entry.compose!
@rule_list = Build::Rules::Rule.fabricate_list(rules_entry.value)
else
validate(rule_hashes)
raise InvalidIncludeRulesError, "include:#{rules_entry.errors.first}" unless rules_entry.valid?
@rule_list = Build::Rules::Rule.fabricate_list(rule_hashes)
end
@rule_list = Build::Rules::Rule.fabricate_list(rules_entry.value)
end
def evaluate(context)
......@@ -46,22 +36,6 @@ def match_rule(context)
@rule_list.find { |rule| rule.matches?(nil, context) }
end
# Remove this method when FF `ci_refactor_external_rules` is removed
def validate(rule_hashes)
return unless rule_hashes.is_a?(Array)
rule_hashes.each do |rule_hash|
next if (rule_hash.keys - ALLOWED_KEYS).empty? && valid_when?(rule_hash)
raise InvalidIncludeRulesError, "invalid include rule: #{rule_hash}"
end
end
# Remove this method when FF `ci_refactor_external_rules` is removed
def valid_when?(rule_hash)
rule_hash[:when].nil? || rule_hash[:when].in?(ALLOWED_WHEN)
end
Result = Struct.new(:when) do
def pass?
self.when != 'never'
......
......@@ -31,6 +31,14 @@ def purl
end
strong_memoize_attr :purl
def purl_type
purl.type
end
def type
component_type
end
def name
return @name unless purl
......
......@@ -50724,6 +50724,9 @@ msgstr ""
msgid "UsageQuota|Namespace storage used"
msgstr ""
 
msgid "UsageQuota|Namespace total storage represents the sum of storage consumed by all projects, Container Registry, and Dependency Proxy."
msgstr ""
msgid "UsageQuota|No compute usage data available."
msgstr ""
 
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment