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
0
Merge Requests
0
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
Boxiang Sun
gitlab-ce
Commits
4faaa62a
Commit
4faaa62a
authored
8 years ago
by
Kamil Trzcinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update build fixtures to include manual actions
parent
e00da96c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
15 deletions
+48
-15
db/fixtures/development/14_builds.rb
db/fixtures/development/14_builds.rb
+48
-15
No files found.
db/fixtures/development/14_builds.rb
View file @
4faaa62a
class
Gitlab::Seeder::Builds
STAGES
=
%w(build notify_build test notify_test deploy notify_deploy)
def
initialize
(
project
)
@project
=
project
end
def
seed!
ci_commits
.
each
do
|
ci_commit
|
pipelines
.
each
do
|
pipeline
|
begin
build_create!
(
ci_commit
,
name:
'test build 1'
)
build_create!
(
ci_commit
,
status:
'success'
,
name:
'test build 2'
)
build_create!
(
pipeline
,
name:
'build:linux'
,
stage:
'build'
)
build_create!
(
pipeline
,
name:
'build:osx'
,
stage:
'build'
)
build_create!
(
pipeline
,
name:
'slack post build'
,
stage:
'notify_build'
)
build_create!
(
pipeline
,
name:
'rspec:linux'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'rspec:windows'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'rspec:windows'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'rspec:osx'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'spinach:linux'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'spinach:osx'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'cucumber:linux'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'cucumber:osx'
,
stage:
'test'
)
build_create!
(
pipeline
,
name:
'slack post test'
,
stage:
'notify_test'
)
build_create!
(
pipeline
,
name:
'staging'
,
stage:
'deploy'
,
environment:
'staging'
)
build_create!
(
pipeline
,
name:
'production'
,
stage:
'deploy'
,
environment:
'production'
,
when:
'manual'
)
commit_status_create!
(
pipeline
,
name:
'jenkins'
)
print
'.'
rescue
ActiveRecord
::
RecordInvalid
print
'F'
...
...
@@ -15,8 +36,8 @@ class Gitlab::Seeder::Builds
end
end
def
ci_commit
s
commits
=
@project
.
repository
.
commits
(
'master'
,
nil
,
5
)
def
pipeline
s
commits
=
@project
.
repository
.
commits
(
'master'
,
limit:
5
)
commits_sha
=
commits
.
map
{
|
commit
|
commit
.
raw
.
id
}
commits_sha
.
map
do
|
sha
|
@project
.
ensure_pipeline
(
sha
,
'master'
)
...
...
@@ -25,11 +46,11 @@ class Gitlab::Seeder::Builds
[]
end
def
build_create!
(
ci_commit
,
opts
=
{})
attributes
=
build_attributes_for
(
ci_commit
).
merge
(
opts
)
def
build_create!
(
pipeline
,
opts
=
{})
attributes
=
build_attributes_for
(
pipeline
,
opts
)
build
=
Ci
::
Build
.
new
(
attributes
)
if
%w(success failed)
.
include?
(
build
.
status
)
if
opts
[
:name
].
start_with?
(
'build'
)
artifacts_cache_file
(
artifacts_archive_path
)
do
|
file
|
build
.
artifacts_file
=
file
end
...
...
@@ -40,6 +61,7 @@ class Gitlab::Seeder::Builds
end
build
.
save!
build
.
update
(
status:
build_status
)
if
%w(running success failed)
.
include?
(
build
.
status
)
# We need to set build trace after saving a build (id required)
...
...
@@ -47,12 +69,20 @@ class Gitlab::Seeder::Builds
end
end
def
build_attributes_for
(
ci_commit
)
{
name:
'test build'
,
commands:
"$ build command"
,
stage:
'test'
,
stage_idx:
1
,
ref:
'master'
,
user_id:
build_user
,
gl_project_id:
@project
.
id
,
status:
build_status
,
commit_id:
ci_commit
.
id
,
created_at:
Time
.
now
,
updated_at:
Time
.
now
}
def
commit_status_create!
(
pipeline
,
opts
=
{})
attributes
=
commit_status_attributes_for
(
pipeline
,
opts
)
GenericCommitStatus
.
create
(
attributes
)
end
def
commit_status_attributes_for
(
pipeline
,
opts
)
{
name:
'test build'
,
stage:
'test'
,
stage_idx:
stage_index
(
opts
[
:stage
]),
ref:
'master'
,
user:
build_user
,
project:
@project
,
pipeline:
pipeline
,
created_at:
Time
.
now
,
updated_at:
Time
.
now
}.
merge
(
opts
)
end
def
build_attributes_for
(
pipeline
,
opts
)
commit_status_attributes_for
(
pipeline
,
opts
).
merge
(
commands:
'$ build command'
)
end
def
build_user
...
...
@@ -63,13 +93,16 @@ class Gitlab::Seeder::Builds
Ci
::
Build
::
AVAILABLE_STATUSES
.
sample
end
def
stage_index
(
stage
)
STAGES
.
index
(
stage
)
||
0
end
def
artifacts_archive_path
Rails
.
root
+
'spec/fixtures/ci_build_artifacts.zip'
end
def
artifacts_metadata_path
Rails
.
root
+
'spec/fixtures/ci_build_artifacts_metadata.gz'
end
def
artifacts_cache_file
(
file_path
)
...
...
This diff is collapsed.
Click to expand it.
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