From 1d596ea410dd93a590ed688292942abeb262de00 Mon Sep 17 00:00:00 2001
From: Kassio Borges <kassioborgesm@gmail.com>
Date: Sun, 3 Dec 2023 13:36:36 +0000
Subject: [PATCH] Fix pages path_prefix ci variable expansion

Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/433444

Changelog: fixed
EE: true
---
 ee/app/models/ee/ci/build.rb    | 2 +-
 ee/spec/models/ci/build_spec.rb | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/ee/app/models/ee/ci/build.rb b/ee/app/models/ee/ci/build.rb
index ed7e9c397e776..88732f749467e 100644
--- a/ee/app/models/ee/ci/build.rb
+++ b/ee/app/models/ee/ci/build.rb
@@ -223,7 +223,7 @@ def pages
 
         (options&.dig(:pages) || {}).tap do |pages_options|
           if ::Gitlab::Pages.multiple_versions_enabled_for?(project)
-            pages_options[:path_prefix] = ExpandVariables.expand(pages_options[:path_prefix], -> {
+            pages_options[:path_prefix] = ExpandVariables.expand(pages_options[:path_prefix].to_s, -> {
               variables.sort_and_expand_all
             })
           else
diff --git a/ee/spec/models/ci/build_spec.rb b/ee/spec/models/ci/build_spec.rb
index 9f5ee4916fea5..5fce23af024ff 100644
--- a/ee/spec/models/ci/build_spec.rb
+++ b/ee/spec/models/ci/build_spec.rb
@@ -985,6 +985,7 @@
       false | false | { pages: { path_prefix: 'foo' } } | {}
       false | true | { pages: { path_prefix: 'foo' } } | {}
       true | false | { pages: { path_prefix: 'foo' } } | {}
+      true | true | { pages: { path_prefix: nil } } | { path_prefix: '' }
       true | true | { pages: { path_prefix: 'foo' } } | { path_prefix: 'foo' }
       true | true | { pages: { path_prefix: '$CI_COMMIT_BRANCH' } } | { path_prefix: 'master' }
     end
-- 
GitLab