Skip to content

Refactor CI script#882

Merged
ychin merged 2 commits intomacvim-dev:masterfrom
ichizok:fix/travis
Oct 26, 2019
Merged

Refactor CI script#882
ychin merged 2 commits intomacvim-dev:masterfrom
ichizok:fix/travis

Conversation

@ichizok
Copy link
Copy Markdown
Member

@ichizok ichizok commented Apr 11, 2019

I think should do all tests in order to expose all existing problems except when configure/build fail.

Comment thread .travis.yml Outdated
- echo -en "travis_fold:end:build\\r\\033[0K"
- set +o errexit
- echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- macvim_excmd() { ${VIMCMD} -u NONE -i NONE -g -f -X -V1 -es "$@" -c 'echo ""' -c quit 2>&1; }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why remove the redit>result and grep in the end?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think these one-line tests should check whether each of if_xxx commands work properly or not (minimal test), and output should be tested in make test.

@ychin
Copy link
Copy Markdown
Member

ychin commented Apr 12, 2019

Let me think about this a little bit. I'm a little hesitant because I find Travis CI to have too long of a turnaround time these days (30+ minutes) and a small issue can drag on forever and slow down iteration. While exposing more errors is good, I find that halting immediately tend to give a fast feedback to the user and when you scroll down to the end of the log that's where the error is instead of needing to scroll up the massive amount of log spam from successful tests and search around.

@ichizok ichizok changed the title Refactor CI script [WIP] Refactor CI script May 31, 2019
@ichizok ichizok force-pushed the fix/travis branch 3 times, most recently from b80dec6 to ea2b861 Compare June 18, 2019 07:37
@ychin
Copy link
Copy Markdown
Member

ychin commented Jul 7, 2019

Hi @ichizok is this still work in progress? I noticed you renamed the title to "[WIP]" a while ago but wondering if there are still changes that need to go in.

@ichizok ichizok changed the title [WIP] Refactor CI script Refactor CI script Jul 8, 2019
@ichizok
Copy link
Copy Markdown
Member Author

ichizok commented Jul 8, 2019

There are the below major factors causing tests take long time:

brew update

In all envs. This can resolve to use directory cache.

Upgrading brew packages

Especially in xcode7.3: packages are built from their sources, not using bottles.
Thus I think should enable the language interfaces (if_xxx) only in xcode10.2, or at least disable in xcode7.3.

Test_writedelay (test_options.vim) on GUI

Except in xcode7.3.

https://travis-ci.org/macvim-dev/macvim/builds/555492863

xcode7.3:

Executed Test_writedelay() in   1.871324 seconds

xcode 8.3:

Executed Test_writedelay() in 205.001438 seconds

xcode9.4:

Executed Test_writedelay() in 272.267539 seconds

xcode10.2

Executed Test_writedelay() in 455.950352 seconds

These are caused by the behavior (bug?) of set fullscreen.
In test_options.vim Test_set_values does set fullscreen, set nofullscreen, and set fullscreen& but actual screen remains full-screen after first set fullscreen therefore redrawing screen spends long time when with set writedelay.

@ichizok ichizok force-pushed the fix/travis branch 3 times, most recently from b3670e2 to fc12bc7 Compare July 29, 2019 13:19
@ichizok ichizok force-pushed the fix/travis branch 2 times, most recently from 2608020 to 2a33383 Compare September 30, 2019 17:04
@ichizok ichizok force-pushed the fix/travis branch 2 times, most recently from b0016ca to 0950838 Compare October 22, 2019 13:03
* Cache Homebrew taps
* Colorize stage messages
* Simplify if_xxx tests
* Improve if_ruby build config
* Make build stages to separate build and deploy jobs
Doing 'set fullscreen' and 'set nofullscreen' at once doesn't work
properly: the values of "&lines" and "&columns" are restored, but the
fullscreen is kept on actually and thus affects 'writedelay' test
performance.
@ychin
Copy link
Copy Markdown
Member

ychin commented Oct 25, 2019

Hi @ichizok sorry for the delay in merging this but the change looks good and thanks a lot for doing this. It cuts down on the build times a lot. Since you have been working on this branch for a while just giving you some time to respond if there are more things you want to push to it before I hit merge.

@ichizok
Copy link
Copy Markdown
Member Author

ichizok commented Oct 25, 2019

Thank you, please merge.

@ychin ychin merged commit e0f0d5c into macvim-dev:master Oct 26, 2019
@ichizok ichizok deleted the fix/travis branch October 26, 2019 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants