On Mi, 23 Dez 2015, Christian Brabandt wrote:

> On Do, 24 Dez 2015, Nikolay Aleksandrovich Pavlov wrote:
> > The main reason why your scripts have such value is that they yield an
> > installer. Hosting is much less of a problem: e.g. GH provides hosting and
> > appveyor has http://www.appveyor.com/docs/deployment/github, there are other
> > deployment options including pushing to ftp.
> 
> So we need an adjustment to appveyor.yml to have Windows builts 
> automatically pushed back to Github as binaries?
> 
> Any suggestions how the appveyor.yml should look like?

I had some time to play with appveyor and I think, I found a working 
solution.

Take the following appveyor file:

version: "{build}"

#skip_tags: true

environment:
  matrix:
    - ARCH: x64
    - ARCH: x86

matrix:
  fast_finish: true

os:
  - Visual Studio 2015

build:
  verbosity: minimal

before_build:
  - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /%ARCH% 
/release'

build_script:
  - cd src
  - sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" 
Make_mvc.mak > Make_mvc2.mak
  - if "%ARCH%" == "x64" (nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes 
FEATURES=HUGE IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 
DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes 
PYTHON3=C:\Python34-x64) else (nmake -f Make_mvc2.mak CPU=i386 GUI=yes 
FEATURES=HUGE IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 
DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes 
PYTHON3=C:\Python34)
  - .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
  - type ver.txt

after_build:
  - copy *.exe ..\runtime\
  - copy /Y xxd\*.exe ..\runtime
  - mkdir ..\runtime\GvimExt
  - copy /Y GvimExt\gvimext.dll ..\runtime\GvimExt\
  - copy /Y GvimExt\README.txt  ..\runtime\GvimExt\
  - copy /Y GvimExt\*.inf       ..\runtime\GvimExt\
  - copy /Y GvimExt\*.reg       ..\runtime\GvimExt\
  - 7z a ..\gvim_%ARCH%.zip ..\runtime\*

test_script:
  - cd testdir
  - nmake -f Make_dos.mak VIMPROG=..\gvim

artifacts:
  - path: gvim_x86.zip
    name: gVim_x86
  - path: gvim_x64.zip
    name: gVim_x64

deploy:
  - provider: GitHub
    release: vim-$(APPVEYOR_REPO_TAG_NAME)
    description: 'Nightly Vim Windows build snapshots'
    auth_token:
      secure: kH0D/3t+1Mc8OChKhe+voKlMO0aMwnlUr64QoZOJC6BaVwy+Us3ZHq9Oo+aBzjYc
    artifact: /gVim/
    draft: false
    prerelease: false
    appveyor-repo-tag: true

This creates x86 and x64 binaries and tests them using Visual Studio 
2015. After all tests finish successfully, a zip file is created 
containing the gvim.exe, xxd.exe, GvimExt and the runtime directory and
uploads it back to github.

I think, the Vim release from vim.org did bundle a diff.exe, but I don't 
know how this was build, so this is not included.

The only interesting thing is, that one needs to generate a personal 
access token at github for the repository, so that the binaries from 
appveyor can be pushed back to github. A public_repo token is all that 
is needed, after one is generated, copy and paste it to ci.appveyor.com 
(login with your github account) and go to Encrypt data menu and encrypt 
the token. The cipher then should be pasted back into the appveyor file 
as secure auth_token (see above).

Binaries can bee seen here:
https://github.com/chrisbra/vim/releases/tag/vim-v7.4.979_test40
Appveyor Log is available here:
https://ci.appveyor.com/project/chrisbra/vim-fjfe9/build/62

(I had to test with several tags, which I removed later on, therefore, there 
are still some old zip files floating around).

(Note: I got failures on test86.out, so I removed those for testing)

Best,
Christian

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui