Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
9f5ac179
Commit
9f5ac179
authored
Jul 05, 2017
by
Lin Jen-Shin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename ci_config_file to ci_config_path
parent
9f7e5e45
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
36 additions
and
36 deletions
+36
-36
app/controllers/projects/pipelines_settings_controller.rb
app/controllers/projects/pipelines_settings_controller.rb
+1
-1
app/models/ci/pipeline.rb
app/models/ci/pipeline.rb
+2
-2
app/models/project.rb
app/models/project.rb
+3
-3
app/views/projects/pipelines_settings/_show.html.haml
app/views/projects/pipelines_settings/_show.html.haml
+3
-3
db/migrate/20160804142904_add_ci_config_file_to_project.rb
db/migrate/20160804142904_add_ci_config_file_to_project.rb
+2
-2
db/schema.rb
db/schema.rb
+1
-1
doc/api/projects.md
doc/api/projects.md
+3
-3
doc/user/project/pipelines/settings.md
doc/user/project/pipelines/settings.md
+1
-1
lib/api/entities.rb
lib/api/entities.rb
+1
-1
lib/api/projects.rb
lib/api/projects.rb
+1
-1
spec/lib/gitlab/import_export/safe_model_attributes.yml
spec/lib/gitlab/import_export/safe_model_attributes.yml
+1
-1
spec/models/ci/build_spec.rb
spec/models/ci/build_spec.rb
+1
-1
spec/models/ci/pipeline_spec.rb
spec/models/ci/pipeline_spec.rb
+4
-4
spec/models/project_spec.rb
spec/models/project_spec.rb
+10
-10
spec/requests/api/projects_spec.rb
spec/requests/api/projects_spec.rb
+2
-2
No files found.
app/controllers/projects/pipelines_settings_controller.rb
View file @
9f5ac179
...
...
@@ -23,7 +23,7 @@ class Projects::PipelinesSettingsController < Projects::ApplicationController
def
update_params
params
.
require
(
:project
).
permit
(
:runners_token
,
:builds_enabled
,
:build_allow_git_fetch
,
:build_timeout_in_minutes
,
:build_coverage_regex
,
:public_builds
,
:auto_cancel_pending_pipelines
,
:ci_config_
file
:public_builds
,
:auto_cancel_pending_pipelines
,
:ci_config_
path
)
end
end
app/models/ci/pipeline.rb
View file @
9f5ac179
...
...
@@ -327,10 +327,10 @@ module Ci
end
def
ci_yaml_file_path
if
project
.
ci_config_
file
.
blank?
if
project
.
ci_config_
path
.
blank?
'.gitlab-ci.yml'
else
project
.
ci_config_
file
project
.
ci_config_
path
end
end
...
...
app/models/project.rb
View file @
9f5ac179
...
...
@@ -186,7 +186,7 @@ class Project < ActiveRecord::Base
# Validations
validates
:creator
,
presence:
true
,
on: :create
validates
:description
,
length:
{
maximum:
2000
},
allow_blank:
true
validates
:ci_config_
file
,
validates
:ci_config_
path
,
format:
{
without:
/\.{2}/
,
message:
'cannot include directory traversal.'
},
length:
{
maximum:
255
},
...
...
@@ -526,7 +526,7 @@ class Project < ActiveRecord::Base
import_data
&
.
destroy
end
def
ci_config_
file
=
(
value
)
def
ci_config_
path
=
(
value
)
# Strip all leading slashes so that //foo -> foo
super
(
value
&
.
sub
(
%r{
\A
/+}
,
''
)
&
.
delete
(
"
\0
"
))
end
...
...
@@ -1025,7 +1025,7 @@ class Project < ActiveRecord::Base
visibility_level:
visibility_level
,
path_with_namespace:
path_with_namespace
,
default_branch:
default_branch
,
ci_config_
file:
ci_config_file
ci_config_
path:
ci_config_path
}
# Backward compatibility
...
...
app/views/projects/pipelines_settings/_show.html.haml
View file @
9f5ac179
...
...
@@ -47,11 +47,11 @@
%hr
.form-group
=
f
.
label
:ci_config_
file
,
'Custom CI config file
'
,
class:
'label-light'
=
f
.
text_field
:ci_config_
file
,
class:
'form-control'
,
placeholder:
'.gitlab-ci.yml'
=
f
.
label
:ci_config_
path
,
'Custom CI config path
'
,
class:
'label-light'
=
f
.
text_field
:ci_config_
path
,
class:
'form-control'
,
placeholder:
'.gitlab-ci.yml'
%p
.help-block
The path to CI config file. Defaults to
<code>
.gitlab-ci.yml
</code>
=
link_to
icon
(
'question-circle'
),
help_page_path
(
'user/project/pipelines/settings'
,
anchor:
'custom-ci-config-
file
'
),
target:
'_blank'
=
link_to
icon
(
'question-circle'
),
help_page_path
(
'user/project/pipelines/settings'
,
anchor:
'custom-ci-config-
path
'
),
target:
'_blank'
%hr
.form-group
...
...
db/migrate/20160804142904_add_ci_config_file_to_project.rb
View file @
9f5ac179
...
...
@@ -2,10 +2,10 @@ class AddCiConfigFileToProject < ActiveRecord::Migration
DOWNTIME
=
false
def
change
add_column
:projects
,
:ci_config_
file
,
:string
add_column
:projects
,
:ci_config_
path
,
:string
end
def
down
remove_column
:projects
,
:ci_config_
file
remove_column
:projects
,
:ci_config_
path
end
end
db/schema.rb
View file @
9f5ac179
...
...
@@ -1085,7 +1085,7 @@ ActiveRecord::Schema.define(version: 20170622162730) do
t
.
string
"import_jid"
t
.
integer
"cached_markdown_version"
t
.
datetime
"last_repository_updated_at"
t
.
string
"ci_config_
file
"
t
.
string
"ci_config_
path
"
end
add_index
"projects"
,
[
"ci_id"
],
name:
"index_projects_on_ci_id"
,
using: :btree
...
...
doc/api/projects.md
View file @
9f5ac179
...
...
@@ -346,7 +346,7 @@ Parameters:
|
`tag_list`
| array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
|
`avatar`
| mixed | no | Image file for avatar of the project |
|
`printing_merge_request_link_enabled`
| boolean | no | Show link to create/view merge request when pushing from the command line |
|
`ci_config_
file
`
| string | no | The path to CI config file |
|
`ci_config_
path
`
| string | no | The path to CI config file |
### Create project for user
...
...
@@ -383,7 +383,7 @@ Parameters:
|
`tag_list`
| array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
|
`avatar`
| mixed | no | Image file for avatar of the project |
|
`printing_merge_request_link_enabled`
| boolean | no | Show link to create/view merge request when pushing from the command line |
|
`ci_config_
file
`
| string | no | The path to CI config file |
|
`ci_config_
path
`
| string | no | The path to CI config file |
### Edit project
...
...
@@ -418,7 +418,7 @@ Parameters:
|
`request_access_enabled`
| boolean | no | Allow users to request member access |
|
`tag_list`
| array | no | The list of tags for a project; put array of tags, that should be finally assigned to a project |
|
`avatar`
| mixed | no | Image file for avatar of the project |
|
`ci_config_
file
`
| string | no | The path to CI config file |
|
`ci_config_
path
`
| string | no | The path to CI config file |
### Fork project
...
...
doc/user/project/pipelines/settings.md
View file @
9f5ac179
...
...
@@ -27,7 +27,7 @@ The default value is 60 minutes. Decrease the time limit if you want to impose
a hard limit on your jobs' running time or increase it otherwise. In any case,
if the job surpasses the threshold, it is marked as failed.
## Custom CI config
file
## Custom CI config
path
> - [Introduced][ce-12509] in GitLab 9.4.
...
...
lib/api/entities.rb
View file @
9f5ac179
...
...
@@ -112,7 +112,7 @@ module API
expose
:open_issues_count
,
if:
lambda
{
|
project
,
options
|
project
.
feature_available?
(
:issues
,
options
[
:current_user
])
&&
project
.
default_issues_tracker?
}
expose
:runners_token
,
if:
lambda
{
|
_project
,
options
|
options
[
:user_can_admin_project
]
}
expose
:public_builds
,
as: :public_jobs
expose
:ci_config_
file
expose
:ci_config_
path
expose
:shared_with_groups
do
|
project
,
options
|
SharedGroup
.
represent
(
project
.
project_group_links
.
all
,
options
)
end
...
...
lib/api/projects.rb
View file @
9f5ac179
...
...
@@ -10,7 +10,7 @@ module API
helpers
do
params
:optional_params_ce
do
optional
:description
,
type:
String
,
desc:
'The description of the project'
optional
:ci_config_
file
,
type:
String
,
desc:
'The path to CI config file. Defaults to `.gitlab-ci.yml`'
optional
:ci_config_
path
,
type:
String
,
desc:
'The path to CI config file. Defaults to `.gitlab-ci.yml`'
optional
:issues_enabled
,
type:
Boolean
,
desc:
'Flag indication if the issue tracker is enabled'
optional
:merge_requests_enabled
,
type:
Boolean
,
desc:
'Flag indication if merge requests are enabled'
optional
:wiki_enabled
,
type:
Boolean
,
desc:
'Flag indication if the wiki is enabled'
...
...
spec/lib/gitlab/import_export/safe_model_attributes.yml
View file @
9f5ac179
...
...
@@ -383,7 +383,7 @@ Project:
-
printing_merge_request_link_enabled
-
build_allow_git_fetch
-
last_repository_updated_at
-
ci_config_
file
-
ci_config_
path
Author
:
-
name
ProjectFeature
:
...
...
spec/models/ci/build_spec.rb
View file @
9f5ac179
...
...
@@ -1474,7 +1474,7 @@ describe Ci::Build, :models do
let
(
:ci_config_path
)
{
{
key:
'CI_CONFIG_PATH'
,
value:
'custom'
,
public:
true
}
}
before
do
project
.
update
(
ci_config_
file
:
'custom'
)
project
.
update
(
ci_config_
path
:
'custom'
)
end
it
{
is_expected
.
to
include
(
ci_config_path
)
}
...
...
spec/models/ci/pipeline_spec.rb
View file @
9f5ac179
...
...
@@ -752,19 +752,19 @@ describe Ci::Pipeline, models: true do
subject
{
pipeline
.
ci_yaml_file_path
}
it
'returns the path from project'
do
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
file
)
{
'custom/path'
}
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
path
)
{
'custom/path'
}
is_expected
.
to
eq
(
'custom/path'
)
end
it
'returns default when custom path is nil'
do
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
file
)
{
nil
}
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
path
)
{
nil
}
is_expected
.
to
eq
(
'.gitlab-ci.yml'
)
end
it
'returns default when custom path is empty'
do
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
file
)
{
''
}
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
path
)
{
''
}
is_expected
.
to
eq
(
'.gitlab-ci.yml'
)
end
...
...
@@ -772,7 +772,7 @@ describe Ci::Pipeline, models: true do
describe
'#ci_yaml_file'
do
it
'reports error if the file is not found'
do
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
file
)
{
'custom'
}
allow
(
pipeline
.
project
).
to
receive
(
:ci_config_
path
)
{
'custom'
}
pipeline
.
ci_yaml_file
...
...
spec/models/project_spec.rb
View file @
9f5ac179
...
...
@@ -143,9 +143,9 @@ describe Project, models: true do
it
{
is_expected
.
to
validate_length_of
(
:description
).
is_at_most
(
2000
)
}
it
{
is_expected
.
to
validate_length_of
(
:ci_config_
file
).
is_at_most
(
255
)
}
it
{
is_expected
.
to
allow_value
(
''
).
for
(
:ci_config_
file
)
}
it
{
is_expected
.
not_to
allow_value
(
'test/../foo'
).
for
(
:ci_config_
file
)
}
it
{
is_expected
.
to
validate_length_of
(
:ci_config_
path
).
is_at_most
(
255
)
}
it
{
is_expected
.
to
allow_value
(
''
).
for
(
:ci_config_
path
)
}
it
{
is_expected
.
not_to
allow_value
(
'test/../foo'
).
for
(
:ci_config_
path
)
}
it
{
is_expected
.
to
validate_presence_of
(
:creator
)
}
...
...
@@ -1493,25 +1493,25 @@ describe Project, models: true do
end
end
describe
'#ci_config_
file
='
do
describe
'#ci_config_
path
='
do
let
(
:project
)
{
create
(
:empty_project
)
}
it
'sets nil'
do
project
.
update!
(
ci_config_
file
:
nil
)
project
.
update!
(
ci_config_
path
:
nil
)
expect
(
project
.
ci_config_
file
).
to
be_nil
expect
(
project
.
ci_config_
path
).
to
be_nil
end
it
'sets a string'
do
project
.
update!
(
ci_config_
file
:
'foo/.gitlab_ci.yml'
)
project
.
update!
(
ci_config_
path
:
'foo/.gitlab_ci.yml'
)
expect
(
project
.
ci_config_
file
).
to
eq
(
'foo/.gitlab_ci.yml'
)
expect
(
project
.
ci_config_
path
).
to
eq
(
'foo/.gitlab_ci.yml'
)
end
it
'sets a string but remove all leading slashes and null characters'
do
project
.
update!
(
ci_config_
file
:
"///f
\0
oo/
\0
/.gitlab_ci.yml"
)
project
.
update!
(
ci_config_
path
:
"///f
\0
oo/
\0
/.gitlab_ci.yml"
)
expect
(
project
.
ci_config_
file
).
to
eq
(
'foo//.gitlab_ci.yml'
)
expect
(
project
.
ci_config_
path
).
to
eq
(
'foo//.gitlab_ci.yml'
)
end
end
...
...
spec/requests/api/projects_spec.rb
View file @
9f5ac179
...
...
@@ -348,7 +348,7 @@ describe API::Projects do
only_allow_merge_if_pipeline_succeeds:
false
,
request_access_enabled:
true
,
only_allow_merge_if_all_discussions_are_resolved:
false
,
ci_config_
file
:
'a/custom/path'
ci_config_
path
:
'a/custom/path'
})
post
api
(
'/projects'
,
user
),
project
...
...
@@ -654,7 +654,7 @@ describe API::Projects do
expect
(
json_response
[
'star_count'
]).
to
be_present
expect
(
json_response
[
'forks_count'
]).
to
be_present
expect
(
json_response
[
'public_jobs'
]).
to
be_present
expect
(
json_response
[
'ci_config_
file
'
]).
to
be_nil
expect
(
json_response
[
'ci_config_
path
'
]).
to
be_nil
expect
(
json_response
[
'shared_with_groups'
]).
to
be_an
Array
expect
(
json_response
[
'shared_with_groups'
].
length
).
to
eq
(
1
)
expect
(
json_response
[
'shared_with_groups'
][
0
][
'group_id'
]).
to
eq
(
group
.
id
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment