forked from datalad-handbook/book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
100 lines (78 loc) · 3.08 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# On a virtualenv is used for testing. The effective virtual env
# is available under ~/VENV.
#
# All workers support remote login. Login details are shown at the top of each
# CI run log.
#
# - Linux workers (via SSH):
#
# - A permitted SSH key must be defined in an APPVEYOR_SSH_KEY environment
# variable (via the appveyor project settings)
#
# - SSH login info is given in the form of: 'appveyor@67.225.164.xx -p 22xxx'
#
# - Login with:
#
# ssh -o StrictHostKeyChecking=no <LOGIN>
#
# - to prevent the CI run from exiting, `touch` a file named `BLOCK` in the
# user HOME directory (current directory directly after login). The session
# will run until the file is removed (or 60 min have passed)
# do not make repository clone cheap: interfers with versioneer
shallow_clone: false
environment:
DTS: datalad_next
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
INSTALL_SYSPKGS: python3-virtualenv graphicsmagick-imagemagick-compat moreutils jq
INSTALL_GITANNEX: git-annex -m snapshot
skip_commits:
files:
- changelog.d/
# it is OK to specify paths that may not exist for a particular test run
cache:
# pip cache
- /home/appveyor/.cache/pip -> .appveyor.yml
# turn of support for MS project build support (not needed)
build: off
install:
- tools/appveyor/enable-ssh-login
- tools/setup-git-identity
- tools/bootstrap-handbook-user
# Missing system software
- tools/appveyor/install-syspkgs $INSTALL_SYSPKGS
# pull latest singularity
- tools/appveyor/install-singularity.sh
# in case of a snapshot installation, use the following approach to adjust
# If a particular Python version is requested, use env setup (using the
# appveyor provided environments/installation). Note, these are broken
# on the ubuntu images
# https://help.appveyor.com/discussions/problems/28217-appveyor-ubunu-image-with-python3-lzma-module
# Otherwise create a virtualenv using the default Python 3, to enable uniform
# use of python/pip executables below
- "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || virtualenv -p 3 ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\""
- chronic tools/appveyor/install-git-annex ${INSTALL_GITANNEX}
# enable the git-annex provisioned by the installer
- "[ -f ${HOME}/dlinstaller_env.sh ] && . ${HOME}/dlinstaller_env.sh || true"
build_script:
- chronic python -m pip install -r requirements.txt
- chronic python -m pip install -r requirements-devel.txt
- chronic python -m pip install .
# pull all submodules
- chronic datalad get . -r -n
before_test:
# simple call to see if datalad and git-annex are installed properly
- datalad wtf
test_script:
# Wipe out runrecords to trigger rebuild
- rm -rf docs/basics/_examples
- rm -rf docs/beyond_basics/_examples
- make build
on_success:
- tools/appveyor/provision-runrecord-diff runrecord_diff.txt
artifacts:
- path: runrecord_diff.txt
name: runrecord updates from rebuilding code snippets
type: File
on_finish:
# conditionally block the exit of a CI run for direct debugging
- while [ -f ~/BLOCK ]; do sleep 5; done