"exit 0" cannot exit successfully on ARM

Hi,

Here is the check in the “before_install” section, which will check whether the change is doc only, if this is true, it will exit.

before_install:
  - |
      if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md)|(\.png)|(\.pdf)|(\.html)|^(LICENSE)|^(docs)'
      then
        echo "Only doc files were updated, skip running the CI."
        exit
      fi

This is okay on AMD64 when the change is doc only, the travis CI will return successfully, but it will not exit and looks like wait something to output on ARM,

$ if xxx
  then
    echo "Only doc files were updated, skip running the CI."
    exit 0
  fi
  
Only doc files were updated, skip running the CI.
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
The build has been terminated

I have checked this script inside of the lxd, there is nothing wrong found, I suspect this is a Travis issue.

could anyone take a look at this issue? anyway to workaround the issue?

BR,
Dave

Here is the link of the traivs jobs,
https://travis-ci.com/chendave/kubeedge/jobs/250891483

but it might be invalid some day after the change in the code base.

Is there any one looking into this issue?

I faced this issue with exit 1 too.
How about using false command instead of that?

We’ve confirmed the issue, and at the moment, are not clear as to what causes it. It seems, however, using the helper function travis_terminate 1 (or whatever the code) seems to work.

1 Like

I am facing the same issue which impact my patch merged into OpenSSL project. Any further investigation on this? See travis log in linke : https://travis-ci.org/openssl/openssl/jobs/617019724?utm_medium=notification&utm_source=github_status

I think it’d be more productive to just outlaw exit, or override it to call travis_terminate.

Since with ungraceful exit, any background activity that may be present (including the logging facility) is not finalized properly, so you cannot guarantee any predictable results anyway.

Thanks for your explanatin. I will try to replace exit with travis_terminate.

BTW, whether your patch will take effect for all projects immediately after being merged?

I don’t like this idea. What would (exit 1) do with the proposed change?

That’s fixable (fixed). Please do a code review in the pull request – that way is more productive to point out and address any flaws in implementation.