Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,12 @@ In particular:
The content of the `dist/` folder (typically hosting the generated `.whl`
packages) is archived in the build report (see previous link).

**Note**: when registering your github repo on appveyor ci, don't forget to
activate the "Rolling builds" option to automatically cancel build on intermediate
push events to avoid clogging the build queue with useless jobs.

![Rolling builds](https://www.dropbox.com/s/7ug7ynx7pxycay2/Screenshot%202015-10-30%2014.53.47.png?dl=1)
**Note**: it is possible to activate the "Rolling builds" option to
automatically cancel build on intermediate push events to avoid clogging
the build queue with useless jobs. However it can be problematic as it can
cancel builds triggered by direct push to master outside of any PR. Instead
it the appveyor.yml file of this repo uses a specific powershell snippet

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Instead+,+- it- the appveyor.yml file of this repo ..."?

to quickly fail if a newer build is queued for the same PR.


Building and testing locally from source
Expand Down
9 changes: 9 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,15 @@ install:
- "%CMD_IN_ENV% pip install -r dev-requirements.txt"

build_script:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds.
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
# Build the compiled extension
- "%CMD_IN_ENV% python setup.py build"

Expand Down