Commit f4df4f9e authored by Grzegorz Bizon's avatar Grzegorz Bizon

Update container repository path reference

We should allow to use double underscore in the path, and it seems that
our container repository path regexp was outdated.

See https://github.com/docker/distribution/blob/master/reference/regexp.go
parent a248bb76
...@@ -25,7 +25,7 @@ module Gitlab ...@@ -25,7 +25,7 @@ module Gitlab
# See https://github.com/docker/distribution/blob/master/reference/regexp.go. # See https://github.com/docker/distribution/blob/master/reference/regexp.go.
# #
def container_repository_name_regex def container_repository_name_regex
@container_repository_regex ||= %r{\A[a-z0-9]+(?:[-._/][a-z0-9]+)*\Z} @container_repository_regex ||= %r{\A[a-z0-9]+((?:[._/]|__|[-])[a-z0-9]+)*\Z}
end end
## ##
......
...@@ -86,6 +86,24 @@ describe ContainerRegistry::Path do ...@@ -86,6 +86,24 @@ describe ContainerRegistry::Path do
it { is_expected.to be_valid } it { is_expected.to be_valid }
end end
context 'when path contains double underscore' do
let(:path) { 'my/repository__name' }
it { is_expected.to be_valid }
end
context 'when path contains invalid separator with dot' do
let(:path) { 'some/registry-.name' }
it { is_expected.not_to be_valid }
end
context 'when path contains invalid separator with underscore' do
let(:path) { 'some/registry._name' }
it { is_expected.not_to be_valid }
end
end end
describe '#has_repository?' do describe '#has_repository?' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment