Update from merge request
This commit is contained in:
parent
ecdd26856c
commit
8a150a474e
|
|
@ -57,6 +57,10 @@ workflow:
|
|||
variables:
|
||||
<<: *default-ruby-variables
|
||||
PIPELINE_NAME: 'Ruby $RUBY_VERSION forced pipeline'
|
||||
- if: '$START_AS_IF_FOSS'
|
||||
variables:
|
||||
<<: *default-ruby-variables
|
||||
PIPELINE_NAME: 'Ruby $RUBY_VERSION as-if-foss pipeline'
|
||||
# As part of the process of creating RCs automatically, we update stable
|
||||
# branches with the changes of the most recent production deployment. The
|
||||
# merge requests used for this merge a branch release-tools/X into a stable
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
prepare-as-if-foss-branch:
|
||||
extends:
|
||||
- .as-if-foss:rules:start-as-if-foss
|
||||
stage: prepare
|
||||
needs: []
|
||||
variables:
|
||||
AS_IF_FOSS_BRANCH: "as-if-foss/${CI_COMMIT_REF_NAME}"
|
||||
FOSS_REPOSITORY: "https://dummy:${AS_IF_FOSS_TOKEN}@gitlab.com/gitlab-org/gitlab-foss.git"
|
||||
before_script:
|
||||
- git clone --single-branch --branch master "${FOSS_REPOSITORY}" gitlab-foss
|
||||
- git -C gitlab-foss checkout -b "${AS_IF_FOSS_BRANCH}" master
|
||||
- rm -r .git/
|
||||
- mv gitlab-foss/.git .
|
||||
- rm -r gitlab-foss
|
||||
script:
|
||||
# See: https://gitlab.com/gitlab-org/merge-train/-/blob/041d942ae1b5615703b7a786982340b61620e7c5/bin/merge-train#L228-239
|
||||
- git checkout VERSION
|
||||
- rm -rf ee
|
||||
- rm -rf qa/spec/ee
|
||||
- rm -rf qa/qa/specs/features/ee
|
||||
- rm -rf qa/qa/ee
|
||||
- rm -f qa/qa/ee.rb
|
||||
- rm -f CHANGELOG-EE.md
|
||||
- rm -f changelogs/*-ee.md
|
||||
- git add -A
|
||||
- git commit -m 'Update from merge request' # TODO: Mark which SHA we add
|
||||
- git push -f "${FOSS_REPOSITORY}" "${AS_IF_FOSS_BRANCH}"
|
||||
|
||||
prepare-as-if-foss-env:
|
||||
extends:
|
||||
- .as-if-foss:rules:start-as-if-foss
|
||||
stage: prepare
|
||||
needs: []
|
||||
variables:
|
||||
BUILD_ENV: build.env
|
||||
before_script:
|
||||
- source scripts/utils.sh
|
||||
- install_gitlab_gem
|
||||
script:
|
||||
- scripts/setup/generate-as-if-foss-env.rb | tee $BUILD_ENV
|
||||
artifacts:
|
||||
expire_in: 3 days
|
||||
reports:
|
||||
dotenv: $BUILD_ENV
|
||||
paths:
|
||||
- $BUILD_ENV
|
||||
|
||||
start-as-if-foss:
|
||||
extends:
|
||||
- .as-if-foss:rules:start-as-if-foss
|
||||
stage: prepare
|
||||
needs:
|
||||
- prepare-as-if-foss-branch
|
||||
- prepare-as-if-foss-env
|
||||
inherit:
|
||||
variables: false # Otherwise variables will be messed up
|
||||
variables:
|
||||
START_AS_IF_FOSS: $START_AS_IF_FOSS
|
||||
RUBY_VERSION: $RUBY_VERSION
|
||||
ENABLE_RSPEC: $ENABLE_RSPEC
|
||||
ENABLE_RSPEC_FAST_SPEC_HELPER: $ENABLE_RSPEC_FAST_SPEC_HELPER
|
||||
ENABLE_RSPEC_UNIT: $ENABLE_RSPEC_UNIT
|
||||
ENABLE_RSPEC_INTEGRATION: $ENABLE_RSPEC_INTEGRATION
|
||||
ENABLE_RSPEC_MIGRATION: $ENABLE_RSPEC_MIGRATION
|
||||
ENABLE_RSPEC_BACKGROUND_MIGRATION: $ENABLE_RSPEC_BACKGROUND_MIGRATION
|
||||
ENABLE_RSPEC_SYSTEM: $ENABLE_RSPEC_SYSTEM
|
||||
trigger:
|
||||
project: gitlab-org/gitlab-foss
|
||||
branch: as-if-foss/${CI_COMMIT_REF_NAME}
|
||||
strategy: depend
|
||||
|
|
@ -295,12 +295,12 @@ rspec fast_spec_helper:
|
|||
# Load fast_spec_helper as well just in case there are no specs available.
|
||||
- bin/rspec --dry-run spec/fast_spec_helper.rb $fast_spec_helper_specs
|
||||
|
||||
rspec unit clickhouse:
|
||||
rspec clickhouse:
|
||||
extends:
|
||||
- .rspec-base-pg14-clickhouse23
|
||||
- .rails:rules:clickhouse-changes
|
||||
|
||||
rspec-ee unit clickhouse:
|
||||
rspec-ee clickhouse:
|
||||
extends:
|
||||
- .rspec-base-pg14-clickhouse23
|
||||
- .rails:rules:clickhouse-changes
|
||||
|
|
@ -355,7 +355,7 @@ rspec:artifact-collector unit:
|
|||
- .rails:rules:ee-and-foss-unit
|
||||
needs:
|
||||
- rspec unit pg14 # 24 jobs
|
||||
- job: rspec unit clickhouse # 1 job
|
||||
- job: rspec clickhouse # 1 job
|
||||
optional: true
|
||||
|
||||
rspec:artifact-collector system:
|
||||
|
|
@ -446,7 +446,7 @@ rspec:artifact-collector ee:
|
|||
optional: true
|
||||
- job: rspec-ee unit pg14 # 22 jobs
|
||||
optional: true
|
||||
- job: rspec-ee unit clickhouse # 1 job
|
||||
- job: rspec-ee clickhouse # 1 job
|
||||
optional: true
|
||||
- job: rspec-ee integration pg14 # 5 jobs
|
||||
optional: true
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@
|
|||
.if-merge-request-labels-as-if-foss: &if-merge-request-labels-as-if-foss
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss/'
|
||||
|
||||
.if-merge-request-labels-as-if-foss-cross-project: &if-merge-request-labels-as-if-foss-cross-project
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-foss-cross-project/'
|
||||
|
||||
.if-merge-request-labels-as-if-jh: &if-merge-request-labels-as-if-jh
|
||||
if: '$CI_MERGE_REQUEST_LABELS =~ /pipeline:run-as-if-jh/'
|
||||
|
||||
|
|
@ -1073,8 +1076,10 @@
|
|||
######################
|
||||
.ci-templates:rules:shellcheck:
|
||||
rules:
|
||||
- changes: *ci-templates-patterns
|
||||
- changes:
|
||||
- <<: *if-default-refs
|
||||
changes: *ci-templates-patterns
|
||||
- <<: *if-default-refs
|
||||
changes:
|
||||
- scripts/lint_templates_bash.rb
|
||||
|
||||
######################
|
||||
|
|
@ -1227,6 +1232,7 @@
|
|||
|
||||
.frontend:rules:compile-test-assets:
|
||||
rules:
|
||||
- if: '$ENABLE_RSPEC == "true"'
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
- <<: *if-merge-request
|
||||
changes: *backend-patterns
|
||||
|
|
@ -1892,6 +1898,7 @@
|
|||
###############
|
||||
.rails:rules:setup-test-env:
|
||||
rules:
|
||||
- if: '$ENABLE_RSPEC == "true"'
|
||||
- <<: *if-default-refs
|
||||
changes: *setup-test-env-patterns
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
|
|
@ -2013,6 +2020,7 @@
|
|||
when: never
|
||||
- <<: *if-merge-request-labels-pipeline-expedite
|
||||
when: never
|
||||
- if: '$ENABLE_RSPEC_MIGRATION == "true"'
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
- <<: *if-merge-request
|
||||
changes: *core-backend-patterns
|
||||
|
|
@ -2044,6 +2052,7 @@
|
|||
|
||||
.rails:rules:ee-and-foss-background-migration:
|
||||
rules:
|
||||
- if: '$ENABLE_RSPEC_BACKGROUND_MIGRATION == "true"'
|
||||
- !reference [".rails:rules:ee-and-foss-migration", rules]
|
||||
- <<: *if-default-refs
|
||||
changes: *backend-patterns
|
||||
|
|
@ -2068,16 +2077,27 @@
|
|||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- if: '$ENABLE_RSPEC_UNIT == "true"'
|
||||
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
|
||||
- <<: *if-default-refs
|
||||
changes: *backend-patterns
|
||||
- <<: *if-default-refs
|
||||
changes: *backstage-patterns
|
||||
|
||||
.rails:rules:clickhouse-changes:
|
||||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- if: '$ENABLE_RSPEC_UNIT == "true"'
|
||||
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
|
||||
- <<: *if-default-refs
|
||||
changes: *backend-patterns
|
||||
|
||||
.rails:rules:ee-and-foss-integration:
|
||||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- if: '$ENABLE_RSPEC_INTEGRATION == "true"'
|
||||
- !reference [".rails:rules:ee-and-foss-default-rules", rules]
|
||||
- <<: *if-default-refs
|
||||
changes: *backend-patterns
|
||||
|
|
@ -2086,12 +2106,14 @@
|
|||
rules:
|
||||
- <<: *if-fork-merge-request
|
||||
when: never
|
||||
- if: '$ENABLE_RSPEC_SYSTEM == "true"'
|
||||
- !reference [".rails:rules:system-default-rules", rules]
|
||||
- <<: *if-default-refs
|
||||
changes: *code-backstage-patterns
|
||||
|
||||
.rails:rules:ee-and-foss-fast_spec_helper:
|
||||
rules:
|
||||
- if: '$ENABLE_RSPEC_FAST_SPEC_HELPER == "true"'
|
||||
- <<: *if-merge-request-labels-run-all-rspec
|
||||
- <<: *if-merge-request
|
||||
changes: *backend-patterns
|
||||
|
|
@ -2403,12 +2425,6 @@
|
|||
changes: *code-backstage-patterns
|
||||
when: always
|
||||
|
||||
.rails:rules:clickhouse-changes:
|
||||
rules:
|
||||
- <<: *if-dot-com-ee-schedule-default-branch-maintenance
|
||||
- <<: *if-merge-request
|
||||
changes: *backend-patterns
|
||||
|
||||
#########################
|
||||
# Static analysis rules #
|
||||
#########################
|
||||
|
|
@ -2871,6 +2887,7 @@
|
|||
#######################
|
||||
.test-metadata:rules:retrieve-tests-metadata:
|
||||
rules:
|
||||
- if: '$ENABLE_RSPEC == "true"'
|
||||
- <<: *if-default-refs
|
||||
changes: *code-backstage-patterns
|
||||
- <<: *if-default-refs
|
||||
|
|
@ -2922,6 +2939,16 @@
|
|||
- <<: *if-default-refs
|
||||
changes: *lint-metrics-yaml-patterns
|
||||
|
||||
####################
|
||||
# as-if-foss rules #
|
||||
####################
|
||||
.as-if-foss:rules:start-as-if-foss:
|
||||
rules:
|
||||
- if: '$AS_IF_FOSS_TOKEN == null'
|
||||
when: never
|
||||
- !reference [".strict-ee-only-rules", rules]
|
||||
- <<: *if-merge-request-labels-as-if-foss-cross-project
|
||||
|
||||
##################
|
||||
# as-if-jh rules #
|
||||
##################
|
||||
|
|
|
|||
|
|
@ -36,13 +36,13 @@ update-tests-metadata:
|
|||
- rspec migration pg14
|
||||
- rspec-all frontend_fixture
|
||||
- rspec unit pg14
|
||||
- rspec unit clickhouse
|
||||
- rspec clickhouse
|
||||
- rspec integration pg14
|
||||
- rspec system pg14
|
||||
- rspec background_migration pg14
|
||||
- rspec-ee migration pg14
|
||||
- rspec-ee unit pg14
|
||||
- rspec-ee unit clickhouse
|
||||
- rspec-ee clickhouse
|
||||
- rspec-ee integration pg14
|
||||
- rspec-ee system pg14
|
||||
- rspec-ee background_migration pg14
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<script>
|
||||
import { GlDisclosureDropdown } from '@gitlab/ui';
|
||||
import { GlDisclosureDropdown, GlTooltipDirective } from '@gitlab/ui';
|
||||
import Tracking from '~/tracking';
|
||||
import { s__ } from '~/locale';
|
||||
import {
|
||||
BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS,
|
||||
BOARD_CARD_MOVE_TO_POSITIONS_START_OPTION,
|
||||
|
|
@ -12,6 +13,9 @@ export default {
|
|||
components: {
|
||||
GlDisclosureDropdown,
|
||||
},
|
||||
directives: {
|
||||
GlTooltip: GlTooltipDirective,
|
||||
},
|
||||
mixins: [Tracking.mixin()],
|
||||
props: {
|
||||
item: {
|
||||
|
|
@ -87,6 +91,9 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
i18n: {
|
||||
moveCardText: s__('Boards|Card options'),
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
@ -94,12 +101,16 @@ export default {
|
|||
<gl-disclosure-dropdown
|
||||
ref="dropdown"
|
||||
:key="itemIdentifier"
|
||||
v-gl-tooltip.hover.focus.top="{
|
||||
title: $options.i18n.moveCardText,
|
||||
boundary: 'viewport',
|
||||
}"
|
||||
class="move-to-position gl-display-block gl-mb-2 gl-ml-auto gl-mt-n3 gl-mr-n3 js-no-trigger"
|
||||
category="tertiary"
|
||||
:items="$options.BOARD_CARD_MOVE_TO_POSITIONS_OPTIONS"
|
||||
icon="ellipsis_v"
|
||||
:tabindex="index"
|
||||
:toggle-text="s__('Boards|Move card')"
|
||||
:aria-label="$options.i18n.moveCardText"
|
||||
:text-sr-only="true"
|
||||
no-caret
|
||||
data-testid="board-move-to-position"
|
||||
|
|
|
|||
|
|
@ -215,6 +215,7 @@ export default {
|
|||
this.$emit('reset');
|
||||
},
|
||||
onShowModal() {
|
||||
this.$emit('shown');
|
||||
if (this.usersLimitDataset.reachedLimit) {
|
||||
this.track('render', { category: 'default', label: ON_SHOW_TRACK_LABEL });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,7 +116,11 @@ export default {
|
|||
@pin-remove="onPinRemove(item.id, item.title)"
|
||||
/>
|
||||
</draggable>
|
||||
<li v-else class="gl-text-secondary gl-font-sm gl-py-3" style="margin-left: 2.5rem">
|
||||
<li
|
||||
v-else
|
||||
class="gl-text-secondary gl-font-sm gl-py-3 super-sidebar-empty-pinned-text"
|
||||
style="margin-left: 2.5rem"
|
||||
>
|
||||
{{ $options.i18n.emptyHint }}
|
||||
</li>
|
||||
</menu-section>
|
||||
|
|
|
|||
|
|
@ -408,6 +408,13 @@ $super-sidebar-transition-hint-duration: $super-sidebar-transition-duration / 4;
|
|||
}
|
||||
}
|
||||
|
||||
.super-sidebar-empty-pinned-text {
|
||||
mix-blend-mode: multiply;
|
||||
|
||||
.gl-dark & {
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
}
|
||||
|
||||
// Styles for the ScrollScrim component.
|
||||
// Should eventually be moved to gitlab-ui.
|
||||
|
|
|
|||
|
|
@ -656,7 +656,8 @@ sudo -u git -H bundle exec rake gitlab:backup:create REPOSITORIES_STORAGES=stora
|
|||
|
||||
#### Back up specific repositories
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88094) in GitLab 15.1.
|
||||
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88094) in GitLab 15.1.
|
||||
> - [Skipping specific repositories added](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121865) in GitLab 16.1.
|
||||
|
||||
You can back up specific repositories using the `REPOSITORIES_PATHS` option.
|
||||
Similarly, you can use `SKIP_REPOSITORIES_PATHS` to skip certain repositories.
|
||||
|
|
|
|||
|
|
@ -300,6 +300,23 @@ set and get the `ee/` folder removed before the tests start running.
|
|||
|
||||
The intent is to ensure that a change doesn't introduce a failure after `gitlab-org/gitlab` is synced to `gitlab-org/gitlab-foss`.
|
||||
|
||||
#### As-if-FOSS cross project downstream pipeline
|
||||
|
||||
As an alternative to the `* as-if-foss` jobs, we can also run a cross project
|
||||
FOSS pipeline exactly in the `gitlab-org/gitlab-foss` project. We trigger it
|
||||
in the following cases:
|
||||
|
||||
- when the `pipeline:run-as-if-foss-cross-project` label is set on the merge request
|
||||
|
||||
This is still working-in-progress to replace the `* as-if-foss` jobs. The
|
||||
goal is to simplify pipeline rules and make it more clear about the intention.
|
||||
|
||||
##### Tokens set in the project variables
|
||||
|
||||
- `AS_IF_FOSS_TOKEN`: This is a [GitLab FOSS](https://gitlab.com/gitlab-org/gitlab-foss)
|
||||
project token with `developer` role and `write_repository` permission,
|
||||
to push generated `as-if-foss/*` branch.
|
||||
|
||||
### As-if-JH cross project downstream pipeline
|
||||
|
||||
#### What it is
|
||||
|
|
@ -399,7 +416,8 @@ flowchart TD
|
|||
- `ADD_JH_FILES_TOKEN`: This is a [GitLab JH mirror](https://gitlab.com/gitlab-org/gitlab-jh-mirrors/gitlab)
|
||||
project token with `read_api` permission, to be able to download JiHu files.
|
||||
- `AS_IF_JH_TOKEN`: This is a [GitLab JH validation](https://gitlab.com/gitlab-org-sandbox/gitlab-jh-validation)
|
||||
project token with `write_repository` permission, to push generated `as-if-jh/*` branch.
|
||||
project token with `developer` role and `write_repository` permission,
|
||||
to push generated `as-if-jh/*` branch.
|
||||
|
||||
##### How we generate the as-if-JH branch
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,25 @@ from using `$FORCE_GITLAB_CI`.
|
|||
- [JiHu validation pipeline](https://about.gitlab.com/handbook/ceo/chief-of-staff-team/jihu-support/jihu-validation-pipelines.html)
|
||||
- [Gitaly downstream GitLab pipeline](https://gitlab.com/gitlab-org/gitaly/-/issues/4615)
|
||||
|
||||
See the next section for how we can enable pipelines without using
|
||||
`$FORCE_GITLAB_CI`.
|
||||
|
||||
#### Alternative to `$FORCE_GITLAB_CI`
|
||||
|
||||
Essentially, we use different variables to enable different pipelines.
|
||||
An example doing this is `$START_AS_IF_FOSS`. When we want to trigger a
|
||||
cross project FOSS pipeline, we set `$START_AS_IF_FOSS`, along with a set of
|
||||
other variables like `$ENABLE_RSPEC_UNIT`, `$ENABLE_RSPEC_SYSTEM`, and so on
|
||||
so forth to enable each jobs we want to run in the as-if-foss cross project
|
||||
downstream pipeline.
|
||||
|
||||
The advantage of this over `$FORCE_GITLAB_CI` is that we have full control
|
||||
over how we want to run the pipeline because `$START_AS_IF_FOSS` is only used
|
||||
for this purpose, and changing how the pipeline behaves under this variable
|
||||
will not affect other types of pipelines, while using `$FORCE_GITLAB_CI` we
|
||||
do not know what exactly the pipeline is because it's used for multiple
|
||||
purposes.
|
||||
|
||||
## Default image
|
||||
|
||||
The default image is defined in [`.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab-ci.yml).
|
||||
|
|
|
|||
|
|
@ -192,12 +192,13 @@ When upgrading:
|
|||
- GitLab 15: [`15.0.5`](versions/gitlab_15_changes.md#1500) > [`15.1.6`](versions/gitlab_15_changes.md#1510) (for
|
||||
GitLab instances with multiple web nodes) > [`15.4.6`](versions/gitlab_15_changes.md#1540) >
|
||||
[`15.11.13`](versions/gitlab_15_changes.md#15110).
|
||||
- GitLab 16: [`16.0.x`](versions/gitlab_16_changes.md#1600) (only
|
||||
- GitLab 16: [`16.0.8`](versions/gitlab_16_changes.md#1600) (only
|
||||
instances with [lots of users](versions/gitlab_16_changes.md#long-running-user-type-data-change) or
|
||||
[large pipeline variables history](versions/gitlab_16_changes.md#1610)) >
|
||||
[`16.1`](versions/gitlab_16_changes.md#1610) (instances with NPM packages in their package registry) >
|
||||
[`16.2.x`](versions/gitlab_16_changes.md#1620) (only instances with [large pipeline variables history](versions/gitlab_16_changes.md#1630)) >
|
||||
[`16.3`](versions/gitlab_16_changes.md#1630) > [latest `16.Y.Z`](https://gitlab.com/gitlab-org/gitlab/-/releases).
|
||||
[`16.1.5`](versions/gitlab_16_changes.md#1610) (instances with NPM packages in their package registry) >
|
||||
[`16.2.8`](versions/gitlab_16_changes.md#1620) (only instances with [large pipeline variables history](versions/gitlab_16_changes.md#1630)) >
|
||||
[`16.3.6`](versions/gitlab_16_changes.md#1630) > [`16.7.z`](versions/gitlab_16_changes.md#1670)
|
||||
> [latest `16.Y.Z`](https://gitlab.com/gitlab-org/gitlab/-/releases).
|
||||
|
||||
1. Check for [required upgrade stops](#required-upgrade-stops).
|
||||
1. Consult the [version-specific upgrade instructions](#version-specific-upgrading-instructions).
|
||||
|
|
|
|||
|
|
@ -17,22 +17,55 @@ For more information about upgrading GitLab Helm Chart, see [the release notes f
|
|||
## Issues to be aware of when upgrading from 15.11
|
||||
|
||||
- [PostgreSQL 12 is not supported starting from GitLab 16](../../update/deprecations.md#postgresql-12-deprecated). Upgrade PostgreSQL to at least version 13.6 before upgrading to GitLab 16.0 or later.
|
||||
- Some GitLab installations must upgrade to GitLab 16.0 before upgrading to any other version. For more information, see
|
||||
[Long-running user type data change](#long-running-user-type-data-change).
|
||||
- Other installations can skip 16.0, 16.1, and 16.2 as the first required stop on the upgrade path is 16.3. Review the notes for those intermediate
|
||||
versions.
|
||||
- If your GitLab instance upgraded first to 15.11.0, 15.11.1, or 15.11.2 the database schema is incorrect.
|
||||
Recommended: perform the workaround before upgrading to 16.x.
|
||||
See [the details and workaround](#undefined-column-error-upgrading-to-162-or-later).
|
||||
- Linux package installations must change Gitaly and Praefect configuration structure before upgrading to GitLab 16.
|
||||
Perform the [workaround](#undefined-column-error-upgrading-to-162-or-later) before upgrading to 16.x.
|
||||
- Most installations can skip 16.0, 16.1, and 16.2, as the first required stop on the upgrade path is 16.3.
|
||||
In all cases, you should review the notes for those intermediate versions.
|
||||
|
||||
Some GitLab installations must stop at those intermediate versions depending on which features are used
|
||||
and the size of the environment:
|
||||
|
||||
- 16.0.8: Instances with lots of records in the users table.
|
||||
For more information, see [long-running user type data change](#long-running-user-type-data-change).
|
||||
- [16.1.5](#1610): Instances that use the NPM package registry.
|
||||
- [16.2.8](#1620): Instances with lots of pipeline variables (including historical pipelines).
|
||||
|
||||
If your instance is affected and you skip these stops:
|
||||
|
||||
- The upgrade can take hours to complete.
|
||||
- The instance generates 500 errors until all the database changes are finished, after which
|
||||
Puma and Sidekiq must restarted.
|
||||
- For Linux package installations, a timeout occurs and a
|
||||
[manual workaround to complete the migrations](../package/package_troubleshooting.md#mixlibshelloutcommandtimeout-rails_migrationgitlab-rails--command-timed-out-after-3600s)
|
||||
is necessary.
|
||||
|
||||
- GitLab 16.0 introduced changes around enforcing limits on project sizes. On self-managed, if you use
|
||||
these limits, projects that have reached their limit causes error messages when pushing to unaffected Git
|
||||
repositories in the same group. The errors often refer to exceeding a limit of zero bytes (`limit of 0 B`).
|
||||
|
||||
The pushes succeed, but the errors imply otherwise and might cause issues with automation.
|
||||
[Read more in the issue](https://gitlab.com/gitlab-org/gitlab/-/issues/416646).
|
||||
The [bug is fixed in GitLab 16.5 and later](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131122).
|
||||
|
||||
### Linux package installations
|
||||
|
||||
- Gitaly and Praefect configuration structure must be changed before upgrading to GitLab 16.
|
||||
**To avoid data loss** reconfigure Praefect first, and as part of the new configuration, disable metadata verification.
|
||||
Read more:
|
||||
|
||||
- [Praefect configuration structure change](#praefect-configuration-structure-change).
|
||||
- [Gitaly configuration structure change](#gitaly-configuration-structure-change).
|
||||
|
||||
- If you reconfigure Gitaly to store Git data in a location other than `/var/opt/gitlab/git-data/repositories`,
|
||||
packaged GitLab 16.0 and later does not automatically create the directory structure.
|
||||
[Read the issue for more details and the workaround](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/8320).
|
||||
|
||||
## 16.7.0
|
||||
|
||||
- GitLab 16.7 is a required upgrade stop. This ensures that all database changes introduced
|
||||
in GitLab 16.7 and earlier have been implemented on all self-managed instances. Dependent changes can then be released
|
||||
in GitLab 16.8 and later. [Issue 429611](https://gitlab.com/gitlab-org/gitlab/-/issues/429611) provides more details.
|
||||
|
||||
### Linux package installations
|
||||
|
||||
Specific information applies to Linux package installations:
|
||||
|
|
|
|||
|
|
@ -223,8 +223,8 @@ To remove a custom role from a group member:
|
|||
1. Select the **Max role** dropdown list for the member you want to remove a custom role from.
|
||||
1. On the **Change role** dialog, select a static role.
|
||||
|
||||
You can update or remove a custom role from a group member also with the [Group and Project Members API endpoint](../api/members.md#edit-a-member-of-a-group-or-project).
|
||||
and pass an empty `member_role_id` value:
|
||||
You can also use the [Group and Project Members API endpoint](../api/members.md#edit-a-member-of-a-group-or-project)
|
||||
to update or remove a custom role from a group member by passing an empty `member_role_id` value:
|
||||
|
||||
```shell
|
||||
# to update a project membership
|
||||
|
|
|
|||
|
|
@ -8456,6 +8456,9 @@ msgid_plural "Boards|Blocked by %{blockedByCount} %{issuableType}s"
|
|||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
msgid "Boards|Card options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Boards|Collapse"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -8477,9 +8480,6 @@ msgstr ""
|
|||
msgid "Boards|Failed to fetch blocking %{issuableType}s"
|
||||
msgstr ""
|
||||
|
||||
msgid "Boards|Move card"
|
||||
msgstr ""
|
||||
|
||||
msgid "Boards|Move to end of list"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'gitlab'
|
||||
require 'set'
|
||||
|
||||
client = Gitlab.client(endpoint: ENV['CI_API_V4_URL'], private_token: '')
|
||||
|
||||
rspec_jobs = Set.new
|
||||
|
||||
client.pipeline_jobs(ENV['CI_PROJECT_ID'], ENV['CI_PIPELINE_ID']).auto_paginate do |job|
|
||||
rspec_type = job.name[/^rspec ([\w\-]+)/, 1]
|
||||
|
||||
rspec_jobs << rspec_type if rspec_type
|
||||
end
|
||||
|
||||
puts 'START_AS_IF_FOSS=true', "RUBY_VERSION=#{ENV['RUBY_VERSION']}"
|
||||
puts 'ENABLE_RSPEC=true' if rspec_jobs.any?
|
||||
|
||||
rspec_jobs.each do |rspec|
|
||||
puts "ENABLE_RSPEC_#{rspec.upcase.tr('-', '_')}=true"
|
||||
end
|
||||
|
|
@ -70,6 +70,7 @@ describe('InviteModalBase', () => {
|
|||
const findDisabledInput = () => wrapper.findByTestId('disabled-input');
|
||||
const findCancelButton = () => wrapper.findByTestId('invite-modal-cancel');
|
||||
const findActionButton = () => wrapper.findByTestId('invite-modal-submit');
|
||||
const findModal = () => wrapper.findComponent(GlModal);
|
||||
|
||||
describe('rendering the modal', () => {
|
||||
let trackingSpy;
|
||||
|
|
@ -82,7 +83,7 @@ describe('InviteModalBase', () => {
|
|||
});
|
||||
|
||||
it('renders the modal with the correct title', () => {
|
||||
expect(wrapper.findComponent(GlModal).props('title')).toBe(propsData.modalTitle);
|
||||
expect(findModal().props('title')).toBe(propsData.modalTitle);
|
||||
});
|
||||
|
||||
it('displays the introText', () => {
|
||||
|
|
@ -200,9 +201,7 @@ describe('InviteModalBase', () => {
|
|||
});
|
||||
trackingSpy = mockTracking(undefined, wrapper.element, jest.spyOn);
|
||||
|
||||
const modal = wrapper.findComponent(GlModal);
|
||||
|
||||
modal.vm.$emit('shown');
|
||||
findModal().vm.$emit('shown');
|
||||
expectTracking('render', ON_SHOW_TRACK_LABEL, 'default');
|
||||
|
||||
unmockTracking();
|
||||
|
|
@ -280,4 +279,14 @@ describe('InviteModalBase', () => {
|
|||
state: false,
|
||||
});
|
||||
});
|
||||
|
||||
it('emits the shown event when the modal is shown', () => {
|
||||
createComponent();
|
||||
// Verify that the shown event isn't emitted when the component is first created.
|
||||
expect(wrapper.emitted('shown')).toBeUndefined();
|
||||
|
||||
findModal().vm.$emit('shown');
|
||||
|
||||
expect(wrapper.emitted('shown')).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue