Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

chore(travis): fix deploy conditions #16296

Merged
merged 1 commit into from
Oct 25, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,31 @@ jobs:
include:
- stage: deploy
# Don't deploy from PRs.
# The deployment logic for pushed branches is defined in scripts\travis\build.sh
# This is a Travis-specific boolean language: https://docs.travis-ci.com/user/conditional-builds-stages-jobs#Specifying-conditions
# The deployment logic for pushed branches is further defined in scripts\travis\build.sh
if: type != pull_request
env:
- JOB=deploy
before_script: skip
script:
- "./scripts/travis/build.sh"
# Export the variables into the current process
- . ./scripts/travis/build.sh
- "echo DEPLOY_DOCS: $DEPLOY_DOCS, DEPLOY_CODE: $DEPLOY_CODE"
after_script: skip
# Work around the 10min Travis timeout so the code.angularjs firebase+gcs code deploy can complete
# Only run the keep_alive once (before_deploy is run for each provider)
before_deploy: |
function keep_alive() {
while true; do
echo -en "\a"
sleep 5
done
}
keep_alive &
if ! [ "$BEFORE_DEPLOY_RUN" ]; then
export BEFORE_DEPLOY_RUN=1;

function keep_alive() {
while true; do
echo -en "\a"
sleep 10
done
}
keep_alive &
fi
deploy:
- provider: firebase
# the upload folder for firebase is configured in /firebase.json
Expand All @@ -78,7 +87,7 @@ jobs:
on:
repo: angular/angular.js
all_branches: true
condition: $DEPLOY_DOCS
condition: "$DEPLOY_DOCS == true"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure this works? (I would expect this to always evaluate to true).
Maybe condition: env(DEPLOY_DOCS) = true?

- provider: gcs
skip_cleanup: true
access_key_id: GOOGLDB7W2J3LFHICF3R
Expand All @@ -90,5 +99,5 @@ jobs:
on:
repo: angular/angular.js
all_branches: true
condition: $DEPLOY_CODE
condition: "$DEPLOY_CODE == true"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure this works? (I would expect this to always evaluate to true).
Maybe condition: env(DEPLOY_CODE) = true?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that works. https://unix.stackexchange.com/a/16110
I've just added the quote marks to make it explicit that this belongs together. The quote marks are only for yaml.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was referring to accessing $DEPLOY_CODE directly. I thought these docs applied to condition as well, but I now see it is only for ifs. These docs apply to condition, so it is fine indeed 😃

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I was less than thrilled when I noticed that they are using a special language for the deploy conditions. I should visit them some time and chew them out for lack of consistency ... (they are from Berlin)


12 changes: 8 additions & 4 deletions scripts/travis/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ case "$JOB" in
export USE_JQUERY=1
fi

export TARGET_SPECS="build/docs/ptore2e/**/default_test.js"

if [[ "$TEST_TARGET" == jquery* ]]; then
TARGET_SPECS="build/docs/ptore2e/**/jquery_test.js"
else
TARGET_SPECS="build/docs/ptore2e/**/default_test.js"
fi

export TARGET_SPECS="test/e2e/tests/**/*.js,$TARGET_SPECS"
TARGET_SPECS="test/e2e/tests/**/*.js,$TARGET_SPECS"
grunt test:travis-protractor --specs="$TARGET_SPECS"
;;
"deploy")
Expand All @@ -54,6 +54,8 @@ case "$JOB" in
# upload docs if the branch distTag from package.json is "latest" (i.e. stable branch)
if [[ "$DIST_TAG" == latest ]]; then
DEPLOY_DOCS=true
else
DEPLOY_DOCS=false
fi

# upload the build (code + docs) if ...
Expand All @@ -62,9 +64,11 @@ case "$JOB" in
# - or the branch distTag from package.json is "latest" (i.e. stable branch)
if [[ "$TRAVIS_TAG" != '' || "$TRAVIS_BRANCH" == master || "$DIST_TAG" == latest ]]; then
DEPLOY_CODE=true
else
DEPLOY_CODE=false
fi

if [[ "$DEPLOY_DOCS" || "$DEPLOY_CODE" ]]; then
if [[ "$DEPLOY_DOCS" == true || "$DEPLOY_CODE" == true ]]; then
grunt prepareFirebaseDeploy
else
echo "Skipping deployment build because conditions have not been met."
Expand Down