|
| 1 | +# build+test under WSL (Windows Subsystem for Linux) |
| 2 | +# |
| 3 | +# WSL uses a Linux-ish kernel (apparently with modifications to talk to the |
| 4 | +# real windows kernel underneath). The Appveyor installation, at least, |
| 5 | +# defaults to an Ubuntu 18.04 "Bionic" userspace image, with a handful of |
| 6 | +# tools installed (but not build-essential). |
| 7 | + |
| 8 | +# The $PATH includes a bunch of windows directories, with things like Node.js |
| 9 | +# (version 8), yarn, Python, ruby, etc. None of which we use; I don't think |
| 10 | +# they're part of the normal WSL user's experience. |
| 11 | + |
| 12 | +# Commands added here as " - ps:" are run under PowerShell. Commands which |
| 13 | +# are run as " - ps: wsl -- XYZ" get run in a bash environment by the wsl |
| 14 | +# tool. In this environment, the exit code of XYZ is ignored (so failing |
| 15 | +# programs don't stop the build), but the build will halt with a failure if |
| 16 | +# anything is printed to stderr. We use the "./no-stderr" script to make this |
| 17 | +# behave more normally. The docs |
| 18 | +# (https://www.appveyor.com/docs/build-configuration/#interpreters-and-scripts) |
| 19 | +# suggest that putting `$ErrorActionPreference = "Stop";` at "the top of your |
| 20 | +# script" (i.e. your PowerShell script) might influence this. |
| 21 | + |
| 22 | +image: Visual Studio 2019 |
| 23 | +build: off |
| 24 | + |
| 25 | +# the worker clones the repo into the clone folder |
| 26 | +# (/mnt/c/projects/agoric-sdk), cds there, then runs each of the following |
| 27 | +# steps. Each step is run from /mnt/c/projects/agoric-sdk, even if it uses |
| 28 | +# 'cd' internally (i.e. each step is run in a separate shell). |
| 29 | +install: |
| 30 | + - ps: wsl -- .appveyor/no-stderr .appveyor/install-go.sh |
| 31 | + - ps: wsl -- .appveyor/no-stderr .appveyor/install-nvm.sh |
| 32 | + - ps: wsl -- .appveyor/no-stderr .appveyor/install-node-13.sh |
| 33 | + - ps: wsl -- .appveyor/no-stderr .appveyor/install-yarn.sh |
| 34 | + - ps: wsl -- .appveyor/no-stderr .appveyor/install-build-tools.sh |
| 35 | + |
| 36 | +build_script: |
| 37 | + - ps: wsl -- .appveyor/no-stderr .appveyor/build.sh |
| 38 | + |
| 39 | +test_script: |
| 40 | + - ps: wsl -- .appveyor/no-stderr .appveyor/test.sh |
0 commit comments