= !AppVeyor - Continuous Integration service for Windows !AppVeyor is a continuous integration service for Windows. From their website: //[http://www.appveyor.com/ 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 use it for automating our builds on Windows. See TracDev/AutomaticBuilds for the other automated build services we use. It works together with the git repositories hosted on GitHub, like our mirror and their forks: - Builds for the [https://ci.appveyor.com/project/edgewall/trac Trac mirror] (not yet active). - Builds for developer branches: [https://ci.appveyor.com/project/cboos/trac cboos], ... . == Settings === Common settings The configuration and the build steps are taken directly from the repository: - a configuration file [source:trunk/.appveyor.yml .appveyor.yml], - its companion !PowerShell script [source:trunk/contrib/appveyor.ps1 contrib/appveyor.ps1], which contains some common utilities and settings, and one function for each build step === Per-project settings A project can be configured to build all new branches, [http://www.appveyor.com/docs/branches or just some]. Also, in the settings, don't forget to specify that the `appveyor.yml` file is named `.appveyor.yml`. Another useful tip is that a build [http://www.appveyor.com/docs/how-to/skip-build can be skipped] if the last changeset pushed contains `[skip ci]` in its commit log message. == 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 are 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" # 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 forever 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.