-
Notifications
You must be signed in to change notification settings - Fork 27.4k
Conversation
3ae49db
to
097aa69
Compare
2df3547
to
d68189b
Compare
a8eae83
to
eae7e59
Compare
This includes a Karma fix that affects CI flakiness. Based on angular/angular#27735.
eae7e59
to
b96d334
Compare
The latest Safari on Saucelabs (v12) is very unstable and disconnecting all the time, so I removed it from the browser list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All looks promising
@@ -189,6 +184,9 @@ module.exports = function(config, specificOptions) { | |||
config.sauceLabs.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER; | |||
config.sauceLabs.recordScreenshots = true; | |||
|
|||
// Try 'websocket' for a faster transmission first. Fallback to 'polling' if necessary. | |||
config.transports = ['websocket', 'polling']; | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this not the default?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the docs, the default is ['polling', 'websocket']
and it is not clear if ordering makes a difference, so I thought it wouldn't hurt to match angular/angular#27634.
But, yeah, this might be redundant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that socket.io will
By default, a long-polling connection is established first, then upgraded to “better” transports (like WebSocket).
So if I understand it, ['polling', 'websocket']
would connect with polling initially and then try to connect via a websocket. Seems strange but I guess that polling comes up quicker for short-lived connections?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤷♂️
CONNECT_STDERR="$LOGS_DIR/sauce-connect.stderr" | ||
# We don't want to create a log file because sauceconnect always logs in verbose mode. This seems | ||
# to be overwhelming Travis and causing flakes when we are cat-ing the log in "print_logs.sh" | ||
CONNECT_LOG="/dev/null" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH, I don't know if it was actually affecting flakiness. I was just porting bits that looked useful from Angular PRs. (This came from angular/angular#27657.)
@@ -7,5 +7,5 @@ for FILE in $LOG_FILES; do | |||
echo "================================================================================" | |||
echo " $FILE" | |||
echo "================================================================================" | |||
cat $FILE | |||
cat $FILE || true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this cat
fail?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If there are no log files, then for FILE in $LOG_FILES
uses $LOGS_DIR/*
literally, which does not exist and thus cat
fails.
75997bc
to
b96d334
Compare
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
CI-/Test-related chores.
What is the current behavior? (You can also link to an open issue here)
CI is broken and extra flaky.
What is the new behavior (if this is a feature change)?
CI is neither broken nor flaky.
Does this PR introduce a breaking change?
No.
Please check if the PR fulfills these requirements
Fix/Feature: Docs have been added/updatedFix/Feature: Tests have been added; existing tests pass