Skip to content

Commit

Permalink
ci: allure reports as html (#4061)
Browse files Browse the repository at this point in the history
  • Loading branch information
noomorph committed May 17, 2023
1 parent 27a7cdf commit 06aa435
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .buildkite/jobs/pipeline.android_rn_68.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
DETOX_DISABLE_POSTINSTALL: true
artifact_paths:
- "/Users/builder/work/coverage/**/*.lcov"
- "/Users/builder/work/allure*.tar.gz"
- "/Users/builder/work/**/allure-report-*.html"
- "/Users/builder/work/artifacts*.tar.gz"
2 changes: 1 addition & 1 deletion .buildkite/jobs/pipeline.android_rn_70.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
SKIP_UNIT_TESTS: true
artifact_paths:
- "/Users/builder/work/coverage/**/*.lcov"
- "/Users/builder/work/allure*.tar.gz"
- "/Users/builder/work/**/allure-report-*.html"
- "/Users/builder/work/artifacts*.tar.gz"
2 changes: 1 addition & 1 deletion .buildkite/jobs/pipeline.ios_rn_68.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
REACT_NATIVE_VERSION: 0.68.5
artifact_paths:
- "/Users/builder/work/coverage/**/*.lcov"
- "/Users/builder/work/allure*.tar.gz"
- "/Users/builder/work/**/allure-report-*.html"
- "/Users/builder/work/artifacts*.tar.gz"
2 changes: 1 addition & 1 deletion .buildkite/jobs/pipeline.ios_rn_70.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
REACT_NATIVE_VERSION: 0.70.7
artifact_paths:
- "/Users/builder/work/coverage/**/*.lcov"
- "/Users/builder/work/allure*.tar.gz"
- "/Users/builder/work/**/allure-report-*.html"
- "/Users/builder/work/artifacts*.tar.gz"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ pids
lib-cov

# Allure reports
allure-report-*.html
allure-report
allure-results
# Coverage directory used by tools like istanbul
Expand Down
30 changes: 30 additions & 0 deletions scripts/create_iframe_html.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
function template({ title = 'iframe viewer', url }) {
return `\
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>${title}</title>
<style>
html, body, iframe {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
overflow: hidden;
border: none;
}
iframe {
position: absolute;
}
</style>
</head>
<body>
<iframe src="${url}" frameborder="0" allowfullscreen></iframe>
</body>
</html>
`;
}

process.stdout.write(template({ url: process.argv[2], title: process.argv[3] }));
32 changes: 29 additions & 3 deletions scripts/upload_artifact.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash

DATE=`date '+%Y-%m-%d_%H-%M-%S'`
SCRIPTS_DIR=$(dirname "$0")
GENERATE_IFRAME="$(readlink -f "${SCRIPTS_DIR}/create_iframe_html.js")"

pack() {
local BASE_NAME=$1
Expand All @@ -19,19 +21,43 @@ pack() {
fi
}

generate_iframe() {
node "${GENERATE_IFRAME}" "$@"
}

upload_to_surge() {
local TIMESTAMP=$(date +%Y%m%d%H%M%S)
local SURGE_PROJECT=$1
local IFRAME_TITLE=$2
local SURGE_SUBDOMAIN="${SURGE_PROJECT}-${TIMESTAMP}"
local SURGE_DOMAIN="${SURGE_SUBDOMAIN}.surge.sh"

if [ -d "${SURGE_PROJECT}" ]; then
surge --domain "${SURGE_DOMAIN}" --project "${SURGE_PROJECT}" && \
generate_iframe>>"${SURGE_SUBDOMAIN}.html" "https://${SURGE_DOMAIN}" "${IFRAME_TITLE}"
else
echo "Could not find directory named ${SURGE_PROJECT}."
fi
}

generate_allure_report() {
local ROOT_DIR=$1

cd $ROOT_DIR
[ -d "allure-results" ] && allure generate || echo "No allure-results found."
if [ -d "allure-results" ]; then
set -x
allure generate && upload_to_surge allure-report "Detox Allure Report"
set +x
else
echo "No allure-results found in ${ROOT_DIR}"
fi
cd -
}

cd "$(dirname "$0")/.."
npm -g install surge
generate_allure_report detox
generate_allure_report detox/test
pack artifacts "detox/test/artifacts" "detoxtest"
pack artifacts "examples/demo-react-native/artifacts" "rnexample"
pack artifacts "examples/demo-react-native-jest/artifacts" "rnexamplejest"
pack allure "detox/test/allure-report" "allure-e2e"
pack allure "detox/allure-report" "allure-unit"

0 comments on commit 06aa435

Please sign in to comment.