= [http://www.appveyor.com/ AppVeyor] - Continuous Integration service for Windows //AppVeyor aims to give powerful Continuous Integration and Deployment tools to every .NET developer without the hassle of setting up and maintaining their own build server.// They offer their service free of charge for Open Source projects, like Trac. We plan to use it soon for automating our builds on Windows (see TracDev/AutomaticBuilds for the other automated build services we use). Planned URL: https://ci.appveyor.com/project/edgewall/trac We'll also have an [source:trunk/.appveyor.yml .appveyor.yml] file, similar to our [source:trunk/.travis.yml .travis.yml] file. As the scripting part is not completely trivial, we use a companion !PowerShell script [source:trunk/contrib/appveyor.ps1 contrib/appveyor.ps1] which contains some common utilities and settings and one function for each step that can be called from the build configuration. Currently experimenting in: https://ci.appveyor.com/project/cboos/trac == Known issues === Test failures There are still a number of test issues only seen on !AppVeyor that need to be resolved before getting a "green" build, mostly SQLite related. See all [kwquery:appveyor] related tickets. Note that if you're on Windows, you can reproduce the build locally the same way AppVeyor would do it, from a PowerShell console. Note that you may need to first enable sourcing local scripts, in that shell. {{{#!ps1 > cd 1.0-stable > Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process > . .\contrib\appveyor.ps1 > $env:PYTHONHOME = 'C:\Python27' # example > $env:TEST_TRAC_DB_URI = 'sqlite:test.py' # example > $env:APPVEYOR_REPO_BRANCH = '1.0-stable' > $DebugPreference = "Continue" # in order to see the Appveyor API calls > Trac-Install > Trac-Build > Trac-Tests }}} === Project not building It can happen that the build won't trigger, and no matter what you do about it, the jobs stay in the "queued" state for ever instead of just a few minutes. If this happens, [mailto:team@appveyor.com ask the support] to do a global reset on the project. They're very friendly and responsive.