SlideShare une entreprise Scribd logo
1  sur  12
1
Let's use AppVeyor
– Introduction to CI for Windows –
VimConf 2015
2015-11-21 K.Takata
2
Profile
● Name: K.Takata
● Twitter: @k_takata
● GitHub: k-takata
● Bitbucket: k_takata
● Web: http://homepage3.nifty.com/k-takata/
● Maintainer of Onigmo (The regex engine of Ruby 2.0 and later)
● Author of bregonig.dll (Regex DLL used by Sakura Editor, etc.)
● About 130 patches was merged into Vim in three years (since
7.3.668).
K.T
Now on sale!
3
What is AppVeyor?
● Most of you may have use CI.
– Travis CI is one of the most popular CI service.
● Supports Linux and Mac OSX,
but does not support Windows.
4
Installed Software
● OS: Windows Server 2012 R2 (x64)
● Visual Studio: 2008, 2010, 2012, 2013, 2015
● Windows SDK: 7.0, 7.1, 8.0, 8.1, WDK 7.1.0
● Languages: Go, Java, Ruby, Python, etc.
● GCC: MinGW, Cygwin, MSYS2 (MinGW-w64)
● Tools: 7-Zip, Git, appveyor command, etc.
See: http://www.appveyor.com/docs/installed-software
5
Case 1: Vim
● The official repository of Vim was moved to
GitHub this summer. https://github.com/vim/vim
● AppVeyor is enabled since Vim 7.4.900.
● Based on vim-jp/vim-ci
– Written by @cd01, @crazymaster and @k-takata
6
Case 1: Vim (contd.)
● VC10: build and test
● MinGW: N/A
● MSYS2: N/A
● Cygwin: N/A
Contribution is welcome. (maybe)
Vim uses the following compiler on AppVeyor:
7
Case 2: vimproc
● https://github.com/Shougo/vimproc.vim
AppVeyor support is written by @thinca and @k-takata
● VC10 32/64-bit: build, test and deploy
– When a tag is pushed, DLL is automatically released.
– vim-themis is used for testing.
● MinGW 32-bit: build and test
● MSYS2 64-bit: build and test
● Cygwin: build only
8
Case 3: universal-ctags
● Fork of exuberant-ctags.
https://github.com/universal-ctags/ctags
● VC10 (msbuild): build only
● VC10 32/64-bit (nmake): build only
● MinGW 32-bit: build only
● MSYS2 64-bit: build (using autotools) and test
● Cygwin: build and test
9
Problems (1)
●
./configure fails on Cygwin and MSYS2
10
Problem (1) (contd.)
● Maybe caused by redirection system on
AppVeyor.
● Workaround: just comment out the line
E.g.
> bash -lc "autoreconf -vfi"
> perl -i".bak" -pe "s/^test -n ".DJDIR"/#$&/" configure
> bash -lc "./configure --enable-iconv && make"
11
Problem (2)
● Vim on Cygwin/MSYS2 doesn't work at all.
No error messages! No outputs!
● Currently, NO workaround.
Please HELP!!
12
Enjoy Vimming!

Contenu connexe

Tendances

Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
Shougo
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
 
Python_Session
Python_SessionPython_Session
Python_Session
siva ram
 

Tendances (20)

"Developing a multicurrency, multisignature wallet" by Alex Melville
"Developing a multicurrency, multisignature wallet" by Alex Melville  "Developing a multicurrency, multisignature wallet" by Alex Melville
"Developing a multicurrency, multisignature wallet" by Alex Melville
 
BKK16-102 Creating new workload for Workload Automation & using WA with LAVA
BKK16-102 Creating new workload for Workload Automation & using WA with LAVABKK16-102 Creating new workload for Workload Automation & using WA with LAVA
BKK16-102 Creating new workload for Workload Automation & using WA with LAVA
 
Let's talk about neovim
Let's talk about neovimLet's talk about neovim
Let's talk about neovim
 
Introduction to Vim plugins developed by non-Japanese Vimmer (English version)
Introduction to Vim plugins developed by non-Japanese Vimmer (English version)Introduction to Vim plugins developed by non-Japanese Vimmer (English version)
Introduction to Vim plugins developed by non-Japanese Vimmer (English version)
 
SCM Boot Camp
SCM Boot CampSCM Boot Camp
SCM Boot Camp
 
Javacro 2014 SemameStreet Grails 2 Speech
Javacro 2014  SemameStreet Grails 2 SpeechJavacro 2014  SemameStreet Grails 2 Speech
Javacro 2014 SemameStreet Grails 2 Speech
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
K9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In StyleK9s - Kubernetes CLI To Manage Your Clusters In Style
K9s - Kubernetes CLI To Manage Your Clusters In Style
 
Docker workshop
Docker workshopDocker workshop
Docker workshop
 
Comparing C and Go
Comparing C and GoComparing C and Go
Comparing C and Go
 
A tale of two(many) proxies
A tale of two(many) proxiesA tale of two(many) proxies
A tale of two(many) proxies
 
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
 
VLC 3.0 ++
VLC 3.0 ++VLC 3.0 ++
VLC 3.0 ++
 
Python_Session
Python_SessionPython_Session
Python_Session
 
Getting started with Ruby on Rails
Getting started with Ruby on RailsGetting started with Ruby on Rails
Getting started with Ruby on Rails
 
Git push to build, test and scan your containers
Git push to build, test and scan your containersGit push to build, test and scan your containers
Git push to build, test and scan your containers
 
Python at a glance
Python at a glancePython at a glance
Python at a glance
 
three.js WebGL library presentation
three.js WebGL library presentationthree.js WebGL library presentation
three.js WebGL library presentation
 
Node.js Test
Node.js TestNode.js Test
Node.js Test
 
openSUSE tools on Debian
openSUSE tools on DebianopenSUSE tools on Debian
openSUSE tools on Debian
 

En vedette (7)

Research part
Research partResearch part
Research part
 
Miss. M. Stevens CV 06-16
Miss. M. Stevens CV 06-16Miss. M. Stevens CV 06-16
Miss. M. Stevens CV 06-16
 
Vih
VihVih
Vih
 
File 1
File 1File 1
File 1
 
The moment my site got hacked
The moment my site got hackedThe moment my site got hacked
The moment my site got hacked
 
GAE/GoでWebアプリ開発入門
GAE/GoでWebアプリ開発入門GAE/GoでWebアプリ開発入門
GAE/GoでWebアプリ開発入門
 
来ないよ!クリスマス
来ないよ!クリスマス来ないよ!クリスマス
来ないよ!クリスマス
 

Similaire à Let's use AppVeyor

Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 

Similaire à Let's use AppVeyor (20)

Headless Android at AnDevCon3
Headless Android at AnDevCon3Headless Android at AnDevCon3
Headless Android at AnDevCon3
 
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
 
GitLab Commit DevOps: How GitLab Can Save your Kubernetes environment from Be...
GitLab Commit DevOps: How GitLab Can Save your Kubernetes environment from Be...GitLab Commit DevOps: How GitLab Can Save your Kubernetes environment from Be...
GitLab Commit DevOps: How GitLab Can Save your Kubernetes environment from Be...
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
 
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
 
Использование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложенийИспользование AzureDevOps при разработке микросервисных приложений
Использование AzureDevOps при разработке микросервисных приложений
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
Lessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and BlinkLessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and Blink
 
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
september13.ppt
september13.pptseptember13.ppt
september13.ppt
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
LCU14 Keynote by George Grey
LCU14 Keynote by George GreyLCU14 Keynote by George Grey
LCU14 Keynote by George Grey
 
Python Linters at Scale.pdf
Python Linters at Scale.pdfPython Linters at Scale.pdf
Python Linters at Scale.pdf
 
Reusing your existing software on Android
Reusing your existing software on AndroidReusing your existing software on Android
Reusing your existing software on Android
 

Dernier

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 

Let's use AppVeyor

  • 1. 1 Let's use AppVeyor – Introduction to CI for Windows – VimConf 2015 2015-11-21 K.Takata
  • 2. 2 Profile ● Name: K.Takata ● Twitter: @k_takata ● GitHub: k-takata ● Bitbucket: k_takata ● Web: http://homepage3.nifty.com/k-takata/ ● Maintainer of Onigmo (The regex engine of Ruby 2.0 and later) ● Author of bregonig.dll (Regex DLL used by Sakura Editor, etc.) ● About 130 patches was merged into Vim in three years (since 7.3.668). K.T Now on sale!
  • 3. 3 What is AppVeyor? ● Most of you may have use CI. – Travis CI is one of the most popular CI service. ● Supports Linux and Mac OSX, but does not support Windows.
  • 4. 4 Installed Software ● OS: Windows Server 2012 R2 (x64) ● Visual Studio: 2008, 2010, 2012, 2013, 2015 ● Windows SDK: 7.0, 7.1, 8.0, 8.1, WDK 7.1.0 ● Languages: Go, Java, Ruby, Python, etc. ● GCC: MinGW, Cygwin, MSYS2 (MinGW-w64) ● Tools: 7-Zip, Git, appveyor command, etc. See: http://www.appveyor.com/docs/installed-software
  • 5. 5 Case 1: Vim ● The official repository of Vim was moved to GitHub this summer. https://github.com/vim/vim ● AppVeyor is enabled since Vim 7.4.900. ● Based on vim-jp/vim-ci – Written by @cd01, @crazymaster and @k-takata
  • 6. 6 Case 1: Vim (contd.) ● VC10: build and test ● MinGW: N/A ● MSYS2: N/A ● Cygwin: N/A Contribution is welcome. (maybe) Vim uses the following compiler on AppVeyor:
  • 7. 7 Case 2: vimproc ● https://github.com/Shougo/vimproc.vim AppVeyor support is written by @thinca and @k-takata ● VC10 32/64-bit: build, test and deploy – When a tag is pushed, DLL is automatically released. – vim-themis is used for testing. ● MinGW 32-bit: build and test ● MSYS2 64-bit: build and test ● Cygwin: build only
  • 8. 8 Case 3: universal-ctags ● Fork of exuberant-ctags. https://github.com/universal-ctags/ctags ● VC10 (msbuild): build only ● VC10 32/64-bit (nmake): build only ● MinGW 32-bit: build only ● MSYS2 64-bit: build (using autotools) and test ● Cygwin: build and test
  • 10. 10 Problem (1) (contd.) ● Maybe caused by redirection system on AppVeyor. ● Workaround: just comment out the line E.g. > bash -lc "autoreconf -vfi" > perl -i".bak" -pe "s/^test -n ".DJDIR"/#$&/" configure > bash -lc "./configure --enable-iconv && make"
  • 11. 11 Problem (2) ● Vim on Cygwin/MSYS2 doesn't work at all. No error messages! No outputs! ● Currently, NO workaround. Please HELP!!