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
1ab11395
Commit
1ab11395
authored
Jul 27, 2021
by
Rémy Coutable
Committed by
Albert Salim
Jul 29, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ci: Retrieve tests metadata from Pages
Signed-off-by:
Rémy Coutable
<
remy@rymai.me
>
parent
2520e560
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
22 deletions
+38
-22
scripts/rspec_helpers.sh
scripts/rspec_helpers.sh
+38
-22
No files found.
scripts/rspec_helpers.sh
View file @
1ab11395
#!/usr/bin/env bash
function
retrieve_tests_metadata
()
{
mkdir
-p
knapsack/ rspec_flaky/
rspec_profiling/
mkdir
-p
$(
dirname
"
$KNAPSACK_RSPEC_SUITE_REPORT_PATH
"
)
$(
dirname
"
$FLAKY_RSPEC_SUITE_REPORT_PATH
"
)
rspec_profiling/
# ${CI_DEFAULT_BRANCH} might not be master in other forks but we want to
# always target the canonical project here, so the branch must be hardcoded
local
project_path
=
"gitlab-org/gitlab"
local
artifact_branch
=
"master"
local
test_metadata_job_id
if
[[
-z
"
${
RETRIEVE_TESTS_METADATA_FROM_ARTIFACTS
}
"
]]
;
then
if
[[
!
-f
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
curl
--location
-o
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
"https://gitlab-org.gitlab.io/gitlab/
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
fi
# Ruby
test_metadata_job_id
=
$(
scripts/api/get_job_id.rb
--project
"
${
project_path
}
"
-q
"status=success"
-q
"ref=
${
artifact_branch
}
"
-q
"username=gitlab-bot"
-Q
"scope=success"
--job-name
"update-tests-metadata"
)
if
[[
!
-f
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
curl
--location
-o
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
"https://gitlab-org.gitlab.io/gitlab/
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
fi
else
# ${CI_DEFAULT_BRANCH} might not be master in other forks but we want to
# always target the canonical project here, so the branch must be hardcoded
local
project_path
=
"gitlab-org/gitlab"
local
artifact_branch
=
"master"
local
test_metadata_job_id
if
[[
!
-f
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_job_id
}
"
--artifact-path
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
fi
# Ruby
test_metadata_job_id
=
$(
scripts/api/get_job_id.rb
--project
"
${
project_path
}
"
-q
"status=success"
-q
"ref=
${
artifact_branch
}
"
-q
"username=gitlab-bot"
-Q
"scope=success"
--job-name
"update-tests-metadata"
)
if
[[
!
-f
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_job_id
}
"
--artifact-path
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
if
[[
!
-f
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_job_id
}
"
--artifact-path
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
KNAPSACK_RSPEC_SUITE_REPORT_PATH
}
"
fi
if
[[
!
-f
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
]]
;
then
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_job_id
}
"
--artifact-path
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
||
echo
"{}"
>
"
${
FLAKY_RSPEC_SUITE_REPORT_PATH
}
"
fi
fi
}
...
...
@@ -40,18 +50,24 @@ function update_tests_metadata() {
}
function
retrieve_tests_mapping
()
{
mkdir
-p
crystalball/
mkdir
-p
$(
dirname
"
$RSPEC_PACKED_TESTS_MAPPING_PATH
"
)
# ${CI_DEFAULT_BRANCH} might not be master in other forks but we want to
# always target the canonical project here, so the branch must be hardcoded
local
project_path
=
"gitlab-org/gitlab"
local
artifact_branch
=
"master"
local
test_metadata_with_mapping_job_id
if
[[
-z
"
${
RETRIEVE_TESTS_METADATA_FROM_ARTIFACTS
}
"
]]
;
then
if
[[
!
-f
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
]]
;
then
(
curl
--location
-o
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
"https://gitlab-org.gitlab.io/gitlab/
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
&&
gzip
-d
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
)
||
echo
"{}"
>
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
fi
else
# ${CI_DEFAULT_BRANCH} might not be master in other forks but we want to
# always target the canonical project here, so the branch must be hardcoded
local
project_path
=
"gitlab-org/gitlab"
local
artifact_branch
=
"master"
local
test_metadata_with_mapping_job_id
test_metadata_with_mapping_job_id
=
$(
scripts/api/get_job_id.rb
--project
"
${
project_path
}
"
-q
"status=success"
-q
"ref=
${
artifact_branch
}
"
-q
"username=gitlab-bot"
-Q
"scope=success"
--job-name
"update-tests-metadata"
--artifact-path
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
)
test_metadata_with_mapping_job_id
=
$(
scripts/api/get_job_id.rb
--project
"
${
project_path
}
"
-q
"status=success"
-q
"ref=
${
artifact_branch
}
"
-q
"username=gitlab-bot"
-Q
"scope=success"
--job-name
"update-tests-metadata"
--artifact-path
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
)
if
[[
!
-f
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
]]
;
then
(
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_with_mapping_job_id
}
"
--artifact-path
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
&&
gzip
-d
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
)
||
echo
"{}"
>
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
if
[[
!
-f
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
]]
;
then
(
scripts/api/download_job_artifact.rb
--project
"
${
project_path
}
"
--job-id
"
${
test_metadata_with_mapping_job_id
}
"
--artifact-path
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
&&
gzip
-d
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
.gz"
)
||
echo
"{}"
>
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
fi
fi
scripts/unpack-test-mapping
"
${
RSPEC_PACKED_TESTS_MAPPING_PATH
}
"
"
${
RSPEC_TESTS_MAPPING_PATH
}
"
...
...
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