-
Notifications
You must be signed in to change notification settings - Fork 311
130 lines (118 loc) · 3.88 KB
/
cron.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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Nightly Cron
on:
schedule:
# midnight EST
- cron: '0 5 * * *'
# allow this to be scheduled manually in addition to cron
workflow_dispatch:
push:
branches: [ main ]
paths:
- "tutorials/**"
jobs:
tests-and-coverage:
runs-on: ubuntu-latest
strategy:
matrix:
botorch: ['pinned', 'latest']
requirements: ['minimal', 'full']
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install dependencies (full requirements, stable Botorch)
run: |
# will install the version of Botorch that is pinned in setup.py
pip install -e ".[unittest]"
if: matrix.botorch == 'pinned' && matrix.requirements == 'full'
- name: Install dependencies (minimal requirements, stable Botorch)
run: |
pip install -e ".[unittest_minimal]"
if: matrix.botorch == 'pinned' && matrix.requirements == 'minimal'
- name: Install dependencies (full requirements, Botorch main)
env:
ALLOW_BOTORCH_LATEST: true
ALLOW_LATEST_GPYTORCH_LINOP: true
run: |
pip install git+https://github.com/cornellius-gp/gpytorch.git
pip install git+https://github.com/pytorch/botorch.git
pip install -e ".[unittest]"
if: matrix.botorch == 'latest' && matrix.requirements == 'full'
- name: Install dependencies (minimal requirements, Botorch main)
env:
ALLOW_BOTORCH_LATEST: true
ALLOW_LATEST_GPYTORCH_LINOP: true
run: |
pip install git+https://github.com/cornellius-gp/gpytorch.git
pip install git+https://github.com/pytorch/botorch.git
pip install -e ".[unittest_minimal]"
if: matrix.botorch == 'latest' && matrix.requirements == 'minimal'
- name: Import Ax
run: |
python scripts/import_ax.py
- name: Tests
# run even if previous step (import Ax) failed
if: matrix.requirements == 'full'
run: |
pytest -ra
build-tutorials-with-pinned-botorch:
name: Build tutorials with pinned BoTorch
uses: ./.github/workflows/reusable_tutorials.yml
with:
smoke_test: false
publish-latest-website:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install dependencies
env:
ALLOW_BOTORCH_LATEST: true
ALLOW_LATEST_GPYTORCH_LINOP: true
run: |
# use latest BoTorch
pip install git+https://github.com/cornellius-gp/gpytorch.git
pip install git+https://github.com/pytorch/botorch.git
pip install -e ".[tutorial]"
- name: Publish latest website
env:
DOCUSAURUS_PUBLISH_TOKEN: ${{ secrets.DOCUSAURUS_PUBLISH_TOKEN }}
run: |
bash scripts/publish_site.sh -d
deploy-test-pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install dependencies
env:
ALLOW_BOTORCH_LATEST: true
ALLOW_LATEST_GPYTORCH_LINOP: true
run: |
# use latest BoTorch
pip install git+https://github.com/cornellius-gp/gpytorch.git
pip install git+https://github.com/pytorch/botorch.git
pip install -e ".[dev,mysql,notebook]"
pip install wheel
- name: Build wheel
run: |
python setup.py sdist bdist_wheel
- name: Deploy to Test PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.TEST_PYPI_TOKEN }}
repository_url: https://test.pypi.org/legacy/
skip_existing: true
verbose: true