diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a5f07b312fb..007be17c303 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,6 +42,9 @@ default: workflow: name: '$PIPELINE_NAME' rules: + - if: '$CI_PROJECT_PATH == "gitlab/gitaly" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $GITALY_TEST' + variables: + PIPELINE_NAME: 'Gitaly Rails Test Pipeline' # If `$FORCE_GITLAB_CI` is set, create a pipeline. - if: '$FORCE_GITLAB_CI' variables: @@ -119,9 +122,6 @@ workflow: variables: <<: *default-ruby-variables PIPELINE_NAME: 'Ruby $RUBY_VERSION $CI_COMMIT_BRANCH branch pipeline' - - if: '$CI_PROJECT_PATH == "gitlab/gitaly" && $CI_PIPELINE_SOURCE == "parent_pipeline" && $GITALY_TEST' - variables: - PIPELINE_NAME: 'Gitaly Rails Test Pipeline' variables: PG_VERSION: "14" diff --git a/.gitlab/ci/gitlab-gems.gitlab-ci.yml b/.gitlab/ci/gitlab-gems.gitlab-ci.yml index c38df607e6b..d972139ad6e 100644 --- a/.gitlab/ci/gitlab-gems.gitlab-ci.yml +++ b/.gitlab/ci/gitlab-gems.gitlab-ci.yml @@ -1,23 +1,10 @@ -gems activerecord-gitlab: - extends: - - .gems:rules:activerecord-gitlab - needs: [] - trigger: - include: gems/activerecord-gitlab/.gitlab-ci.yml - strategy: depend - -gems gitlab-rspec: - extends: - - .gems:rules:gitlab-rspec - needs: [] - trigger: - include: gems/gitlab-rspec/.gitlab-ci.yml - strategy: depend - -gems gitlab-utils: - extends: - - .gems:rules:gitlab-utils - needs: [] - trigger: - include: gems/gitlab-utils/.gitlab-ci.yml - strategy: depend +include: + - local: .gitlab/ci/templates/gem.gitlab-ci.yml + inputs: + gem_name: "activerecord-gitlab" + - local: .gitlab/ci/templates/gem.gitlab-ci.yml + inputs: + gem_name: "gitlab-rspec" + - local: .gitlab/ci/templates/gem.gitlab-ci.yml + inputs: + gem_name: "gitlab-utils" diff --git a/.gitlab/ci/templates/gem.gitlab-ci.yml b/.gitlab/ci/templates/gem.gitlab-ci.yml new file mode 100644 index 00000000000..c5b1a1ecf45 --- /dev/null +++ b/.gitlab/ci/templates/gem.gitlab-ci.yml @@ -0,0 +1,19 @@ +# The template generates jobs that trigger child pipelines for gems vendored in the main GitLab project under `gems/`. +# +# Inputs: +# - `gem_name`: The name of the gem, i.e. if the gem is located at `gems/gitlab-rspec`, `gem_name` should be set to `gitlab-rspec`. +spec: + inputs: + gem_name: +--- +.gems:rules:$[[inputs.gem_name]]: + rules: + - if: '$CI_MERGE_REQUEST_EVENT_TYPE == "merged_result" || $CI_MERGE_REQUEST_EVENT_TYPE == "detached"' + changes: ["gems/$[[inputs.gem_name]]/**/*"] + +gems $[[inputs.gem_name]]: + extends: .gems:rules:$[[inputs.gem_name]] + needs: [] + trigger: + include: gems/$[[inputs.gem_name]]/.gitlab-ci.yml + strategy: depend diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION index 7a837fbed48..ade995f2fc4 100644 --- a/GITALY_SERVER_VERSION +++ b/GITALY_SERVER_VERSION @@ -1 +1 @@ -6a3d3ddfd7f2f1791cdfcf410c0876253e8b1def +ed135330cadb3cdb766eea501dd15f3796cf2466 diff --git a/GITLAB_ELASTICSEARCH_INDEXER_VERSION b/GITLAB_ELASTICSEARCH_INDEXER_VERSION index e198586e42b..43270543f77 100644 --- a/GITLAB_ELASTICSEARCH_INDEXER_VERSION +++ b/GITLAB_ELASTICSEARCH_INDEXER_VERSION @@ -1 +1 @@ -4.3.5 +4.3.6 diff --git a/app/assets/javascripts/vue_shared/components/user_avatar/user_avatar_link.vue b/app/assets/javascripts/vue_shared/components/user_avatar/user_avatar_link.vue index 00720f27934..0949071d4dc 100644 --- a/app/assets/javascripts/vue_shared/components/user_avatar/user_avatar_link.vue +++ b/app/assets/javascripts/vue_shared/components/user_avatar/user_avatar_link.vue @@ -18,6 +18,7 @@ */ import { GlAvatarLink, GlTooltipDirective } from '@gitlab/ui'; +import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import UserAvatarImage from './user_avatar_image.vue'; export default { @@ -74,6 +75,16 @@ export default { required: false, default: 'top', }, + popoverUserId: { + type: [String, Number], + required: false, + default: '', + }, + popoverUsername: { + type: String, + required: false, + default: '', + }, username: { type: String, required: false, @@ -81,10 +92,17 @@ export default { }, }, computed: { + userId() { + return getIdFromGraphQLId(this.popoverUserId); + }, shouldShowUsername() { return this.username.length > 0; }, avatarTooltipText() { + // Prevent showing tooltip when popoverUserId is present + if (this.popoverUserId) { + return ''; + } return this.shouldShowUsername ? '' : this.tooltipText; }, }, @@ -92,7 +110,12 @@ export default {