From 2c4a69616b59428ffe23908c96241d82ca316bcd Mon Sep 17 00:00:00 2001 From: Stefan Hanreich Date: Tue, 9 May 2017 18:34:14 +0200 Subject: no trailing / leading hyphens in CI_COMMIT_REF_SLUG. Fixes #32035 --- app/models/ci/build.rb | 4 +++- doc/ci/variables/README.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 971ab7cb0ee..d21f79560c4 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -170,9 +170,11 @@ module Ci # * Lowercased # * Anything not matching [a-z0-9-] is replaced with a - # * Maximum length is 63 bytes + # * First/Last Character is not a hyphen def ref_slug slugified = ref.to_s.downcase - slugified.gsub(/[^a-z0-9]/, '-')[0..62] + slugified = slugified.gsub(/[^a-z0-9]/, '-')[0..62] + slugified.gsub(/(^\-+|\-+$)/, '') end # Variables whose value does not depend on other variables diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md index 045d3821f66..f0c92540fbb 100644 --- a/doc/ci/variables/README.md +++ b/doc/ci/variables/README.md @@ -37,7 +37,7 @@ future GitLab releases.** |-------------------------------- |--------|--------|-------------| | **CI** | all | 0.4 | Mark that job is executed in CI environment | | **CI_COMMIT_REF_NAME** | 9.0 | all | The branch or tag name for which project is built | -| **CI_COMMIT_REF_SLUG** | 9.0 | all | `$CI_COMMIT_REF_NAME` lowercased, shortened to 63 bytes, and with everything except `0-9` and `a-z` replaced with `-`. Use in URLs and domain names. | +| **CI_COMMIT_REF_SLUG** | 9.0 | all | `$CI_COMMIT_REF_NAME` lowercased, shortened to 63 bytes, and with everything except `0-9` and `a-z` replaced with `-`. No leading / trailing `-`. Use in URLs, host names and domain names. | | **CI_COMMIT_SHA** | 9.0 | all | The commit revision for which project is built | | **CI_COMMIT_TAG** | 9.0 | 0.5 | The commit tag name. Present only when building tags. | | **CI_DEBUG_TRACE** | all | 1.7 | Whether [debug tracing](#debug-tracing) is enabled | -- cgit v1.2.1