Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/ci/variables/builder/release.rb')
-rw-r--r--lib/gitlab/ci/variables/builder/release.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/gitlab/ci/variables/builder/release.rb b/lib/gitlab/ci/variables/builder/release.rb
new file mode 100644
index 00000000000..25f3d8446c5
--- /dev/null
+++ b/lib/gitlab/ci/variables/builder/release.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Ci
+ module Variables
+ class Builder
+ class Release
+ include Gitlab::Utils::StrongMemoize
+
+ attr_reader :release
+
+ DESCRIPTION_LIMIT = 1024
+
+ def initialize(release)
+ @release = release
+ end
+
+ def variables
+ strong_memoize(:variables) do
+ ::Gitlab::Ci::Variables::Collection.new.tap do |variables|
+ next variables unless release
+
+ if release.description
+ variables.append(
+ key: 'CI_RELEASE_DESCRIPTION',
+ value: release.description.truncate(DESCRIPTION_LIMIT),
+ raw: true)
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+ end
+end