.NET Core global tool which brings appveyor.yml to the center of your build process by making possible to execute its build jobs, locally.
|Windows||OS X / Linux||Nuget|
How it works
- Grabs appveyor.yml's build configuration from current (or specified) local repository folder.
- Reads supported build steps from it.
- Executes build pipeline for each job (or specified ones) on the build matrix.
Build engine tries to be the less intrusive as possible printing only what it comes from the build output.
Install LocalAppVeyor as a .NET Core CLI global tool using the following command:
dotnet tool install -g localappveyor
You have it now available on your command line:
Note: to use CLI tool command you must have .NET Core 2.1 or higher.
Usage: LocalAppVeyor [options] [command] Options: -?|-h|--help Show help information -v|--version Show version information Commands: build Executes one or all build jobs on specified repository directory jobs List all build jobs available to execution. lint Validates appveyor.yml YAML configuration. It requires internet connection. Use "LocalAppVeyor [command] --help" for more information about a command.
This is the main console command which allows one to execute all or a smaller set of jobs from the
--job command should be followed by a integer
corresponding to job index as listed on
Usage: LocalAppVeyor build [options] Options: -?|-h|--help Show help information -d|--dir Local repository directory where appveyor.yml sits. If not specified current directory is used -j|--job Job to build. You can specify multiple jobs. Use 'jobs' command to list all jobs -s|--skip Step to skip from the build pipeline. You can specify multiple steps.
Lists all available jobs on the specified appveyor YAML configuration file build matrix.
Usage: LocalAppVeyor jobs [options] Options: -?|-h|--help Show help information -d|--dir Local repository directory where appveyor.yml sits. If not specified current directory is used
Validates appveyor.yml YAML configuration. It requires an active internet connection as it uses AppVeyor web API for a real and up to date validation.
Usage: LocalAppVeyor lint [options] Options: -?|-h|--help Show help information -t|--token AppVeyor account API token. If not specified it tries to get it from LOCALAPPVEYOR_API_TOKEN environment variable. You can find it here: https://ci.appveyor.com/api-token -d|--dir Local repository directory where appveyor.yml sits. If not specified current directory is used
Supported build steps
Due to LocalAppVeyor's nature only a subset of AppVeyor build steps are supported. Some of them might get some support later in time, after consideration, but others most likely won't ever be part of the build pipeline.
|Step \ Option||Support||Notes|
|environment||As for the standard AppVeyor variables these are the ones supported:
|os||Relatively undocumented option but it exists apparently. It's usually a single value so it serves nothing other than to build the matrix job name.|
|clone_folder||Tries first to clone to specified
|test_script||It will always execute if it exists, no matter if other tests options are specified.|