ci(aio): Add payload size percentage changes check to payload size task (#19908)
This commit is contained in:
parent
f0764016f9
commit
f7c9b941cb
|
@ -0,0 +1,28 @@
|
|||
|
||||
const fs = require('fs');
|
||||
const latest = JSON.parse(fs.readFileSync('/tmp/latest.log', 'utf8'));
|
||||
const current = JSON.parse(fs.readFileSync('/tmp/current.log', 'utf8'));
|
||||
|
||||
let failed = false;
|
||||
for (let commit in latest) {
|
||||
if (typeof latest[commit] === 'object') {
|
||||
for (let compressionType in latest[commit]) {
|
||||
if (typeof latest[commit][compressionType] === 'object') {
|
||||
for (let file in latest[commit][compressionType]) {
|
||||
const name = `${compressionType}/${file}`;
|
||||
const number = latest[commit][compressionType][file];
|
||||
if (current[name] - number > number / 100) {
|
||||
console.log(`Commit ${commit} ${compressionType} ${file} increase from ${number} to ${current[name]}`);
|
||||
failed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (failed) {
|
||||
process.exit(1);
|
||||
} else {
|
||||
console.log(`Payload size 1% check okay`);
|
||||
}
|
|
@ -81,15 +81,20 @@ uploadData() {
|
|||
|
||||
echo The data for $name is:
|
||||
echo $payloadData
|
||||
echo $payloadData > /tmp/current.log
|
||||
|
||||
readonly safeBranchName=$(echo $TRAVIS_BRANCH | sed -e 's/\./_/g')
|
||||
|
||||
if [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then
|
||||
readonly safeBranchName=$(echo $TRAVIS_BRANCH | sed -e 's/\./_/g')
|
||||
readonly dbPath=/payload/$name/$safeBranchName/$TRAVIS_COMMIT
|
||||
|
||||
# WARNING: FIREBASE_TOKEN should NOT be printed.
|
||||
set +x
|
||||
$PROJECT_ROOT/node_modules/.bin/firebase database:update --data "$payloadData" --project $PROJECT_NAME --confirm --token "$ANGULAR_PAYLOAD_FIREBASE_TOKEN" $dbPath
|
||||
fi
|
||||
|
||||
curl "https://angular-payload-size.firebaseio.com/payload/${name}/${safeBranchName}.json?orderBy=\"timestamp\"&limitToLast=1" > /tmp/latest.log
|
||||
node ${PROJECT_ROOT}/scripts/ci/payload-size.js
|
||||
}
|
||||
|
||||
# Track payload size, $1 is the name in database, $2 is the file path
|
||||
|
|
Loading…
Reference in New Issue