Edgewall Software

Version 2 (modified by Christian Boos, 8 years ago) ( diff )

explain how to use the contrib/appveyor.ps1 script locally

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 .appveyor.yml file, similar to our .travis.yml file. As the scripting part is not completely trivial, we use a companion PowerShell script 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 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.

> 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, ask the support to do a global reset on the project. They're very friendly and responsive.

Note: See TracWiki for help on using the wiki.