config.yml 47 KB
Newer Older
1
2
version: 2.1

3
# How to test the Linux jobs:
4
#   - Install CircleCI local CLI: https://circleci.com/docs/2.0/local-cli/
5
6
#   - circleci config process .circleci/config.yml > gen.yml && circleci local execute -c gen.yml --job binary_linux_wheel_py3.8
#     - Replace binary_linux_wheel_py3.8 with the name of the job you want to test.
Edward Z. Yang's avatar
Edward Z. Yang committed
7
#       Job names are 'name:' key.
8

9
10
11
12
13
14
executors:
  windows-cpu:
    machine:
      resource_class: windows.xlarge
      image: windows-server-2019-vs2019:stable
      shell: bash.exe
peterjc123's avatar
peterjc123 committed
15

16
17
18
19
20
21
  windows-gpu:
    machine:
      resource_class: windows.gpu.nvidia.medium
      image: windows-server-2019-nvidia:stable
      shell: bash.exe

22
commands:
23
24
25
26
27
28
  generate_cache_key:
    description: "Generates a cache key file that changes daily"
    steps:
      - run:
          name: Generate cache key
          command: echo "$(date +"%Y-%m-%d")" > .cachekey
29
30
31
32
33
34
35
36
  designate_upload_channel:
    description: "inserts the correct upload channel into ${BASH_ENV}"
    steps:
      - run:
          name: adding UPLOAD_CHANNEL to BASH_ENV
          command: |
            our_upload_channel=nightly
            # On tags upload to test instead
37
            if [[ -n "${CIRCLE_TAG}" ]] || [[ ${CIRCLE_BRANCH} =~ release/* ]]; then
38
39
40
              our_upload_channel=test
            fi
            echo "export UPLOAD_CHANNEL=${our_upload_channel}" >> ${BASH_ENV}
moto's avatar
moto committed
41
42
  install_build_tools_macos:
    description: "installs tools required to build torchaudio"
moto's avatar
moto committed
43
44
    steps:
      - run:
moto's avatar
moto committed
45
46
          name: Install pkg-config
          command: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config wget
moto's avatar
moto committed
47
          # Disable brew auto update which is very slow
Eli Uriegas's avatar
Eli Uriegas committed
48
49
50
51
52
53
54
55
56
57
  load_conda_channel_flags:
    description: "Determines whether we need extra conda channels"
    steps:
      - run:
          name: Adding CONDA_CHANNEL_FLAGS to BASH_ENV
          command: |
              CONDA_CHANNEL_FLAGS=""
              if [[ "${PYTHON_VERSION}" = *3.9* ]]; then
                echo "export CONDA_CHANNEL_FLAGS=-c=conda-forge" >> ${BASH_ENV}
              fi
58

59
60
binary_common: &binary_common
  parameters:
Edward Z. Yang's avatar
Edward Z. Yang committed
61
    # Edit these defaults to do a release
62
63
64
65
66
67
68
69
70
71
    build_version:
      description: "version number of release binary; by default, build a nightly"
      type: string
      default: ""
    pytorch_version:
      description: "PyTorch version to build against; by default, use a nightly"
      type: string
      default: ""
    # Don't edit these
    python_version:
72
      description: "Python version to build against (e.g., 3.8)"
73
      type: string
74
  environment: &environment
75
76
77
    PYTHON_VERSION: << parameters.python_version >>
    BUILD_VERSION: << parameters.build_version >>
    PYTORCH_VERSION: << parameters.pytorch_version >>
Edward Z. Yang's avatar
Edward Z. Yang committed
78
    CU_VERSION: cpu
79

Mingbo Wan's avatar
Mingbo Wan committed
80
81
82
smoke_test_common: &smoke_test_common
  <<: *binary_common
  docker:
83
    - image: 308535385114.dkr.ecr.us-east-1.amazonaws.com/torchaudio/smoke_test:56c846a5-acaa-41a7-92f5-46ec66186c61
Mingbo Wan's avatar
Mingbo Wan committed
84
85
86
87
      aws_auth:
        aws_access_key_id: ${ECR_AWS_ACCESS_KEY}
        aws_secret_access_key: ${ECR_AWS_SECRET_ACCESS_KEY}

88
jobs:
89
90
  circleci_consistency:
    docker:
91
      - image: circleci/python:3.8
92
93
94
95
    steps:
      - checkout
      - run:
          command: |
96
            pip install --user --progress-bar off jinja2 pyyaml
97
98
99
            python .circleci/regenerate.py
            git diff --exit-code || (echo ".circleci/config.yml not in sync with config.yml.in! Run .circleci/regenerate.py to update config"; exit 1)

100
101
  download_third_parties_nix:
    docker:
moto's avatar
moto committed
102
      - image: "pytorch/torchaudio_unittest_base:manylinux"
103
104
105
    resource_class: small
    steps:
      - checkout
106
      - generate_cache_key
107
108
109
      - restore_cache:

          keys:
moto's avatar
moto committed
110
            - tp-nix-v2-{{ checksum ".cachekey" }}
111
112

      - run:
moto's avatar
moto committed
113
          command: |
114
115
              mkdir -p third_party/sox/archives/
              wget --no-clobber --directory-prefix=third_party/sox/archives/ $(awk '/URL /{print $2}' third_party/sox/CMakeLists.txt)
116
117
      - save_cache:

moto's avatar
moto committed
118
          key: tp-nix-v2-{{ checksum ".cachekey" }}
119
120

          paths:
121
            - third_party/sox/archives
122
123
124
      - persist_to_workspace:
          root: third_party
          paths:
125
            - sox/archives
126

127
  binary_linux_wheel:
128
    <<: *binary_common
129
    docker:
Eli Uriegas's avatar
Eli Uriegas committed
130
      - image: "pytorch/manylinux-cuda102"
131
132
133
    resource_class: 2xlarge+
    steps:
      - checkout
134
135
      - attach_workspace:
          at: third_party
136
      - run: packaging/build_wheel.sh
137
      - store_artifacts:
138
          path: dist
Edward Z. Yang's avatar
Edward Z. Yang committed
139
140
141
142
      - persist_to_workspace:
          root: dist
          paths:
            - "*"
143
144

  binary_linux_conda:
145
    <<: *binary_common
146
    docker:
147
      - image: "pytorch/conda-cuda"
148
149
150
    resource_class: 2xlarge+
    steps:
      - checkout
Eli Uriegas's avatar
Eli Uriegas committed
151
      - load_conda_channel_flags
152
153
      - attach_workspace:
          at: third_party
154
      - run: packaging/build_conda.sh
155
156
      - store_artifacts:
          path: /opt/conda/conda-bld/linux-64
Edward Z. Yang's avatar
Edward Z. Yang committed
157
      - persist_to_workspace:
158
          root: /opt/conda
Edward Z. Yang's avatar
Edward Z. Yang committed
159
          paths:
160
            - "conda-bld/*"
161

162
163
164
  binary_macos_wheel:
    <<: *binary_common
    macos:
165
      xcode: "9.4.1"
166
167
    steps:
      - checkout
moto's avatar
moto committed
168
      - install_build_tools_macos
Eli Uriegas's avatar
Eli Uriegas committed
169
      - load_conda_channel_flags
170
171
      - attach_workspace:
          at: third_party
172
173
174
175
176
177
178
179
180
181
182
      - run:
          # Cannot easily deduplicate this as source'ing activate
          # will set environment variables which we need to propagate
          # to build_wheel.sh
          command: |
            curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
            sh conda.sh -b
            source $HOME/miniconda3/bin/activate
            packaging/build_wheel.sh
      - store_artifacts:
          path: dist
Edward Z. Yang's avatar
Edward Z. Yang committed
183
184
185
186
      - persist_to_workspace:
          root: dist
          paths:
            - "*"
187
188
189
190

  binary_macos_conda:
    <<: *binary_common
    macos:
191
      xcode: "9.4.1"
192
193
    steps:
      - checkout
moto's avatar
moto committed
194
      - install_build_tools_macos
Eli Uriegas's avatar
Eli Uriegas committed
195
      - load_conda_channel_flags
196
197
      - attach_workspace:
          at: third_party
198
199
200
201
202
203
204
205
206
      - run:
          command: |
            curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
            sh conda.sh -b
            source $HOME/miniconda3/bin/activate
            conda install -yq conda-build
            packaging/build_conda.sh
      - store_artifacts:
          path: /Users/distiller/miniconda3/conda-bld/osx-64
Edward Z. Yang's avatar
Edward Z. Yang committed
207
      - persist_to_workspace:
208
          root: /Users/distiller/miniconda3
Edward Z. Yang's avatar
Edward Z. Yang committed
209
          paths:
210
            - "conda-bld/*"
Edward Z. Yang's avatar
Edward Z. Yang committed
211

peterjc123's avatar
peterjc123 committed
212
213
214
215
216
217
  binary_windows_wheel:
    <<: *binary_common
    executor:
      name: windows-cpu
    steps:
      - checkout
Eli Uriegas's avatar
Eli Uriegas committed
218
      - load_conda_channel_flags
peterjc123's avatar
peterjc123 committed
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
      - run:
          name: build
          command: |
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda activate base
            bash packaging/build_wheel.sh
      - store_artifacts:
          path: dist
      - persist_to_workspace:
          root: dist
          paths:
            - "*"

  binary_windows_conda:
    <<: *binary_common
    executor:
      name: windows-cpu
    steps:
      - checkout
Eli Uriegas's avatar
Eli Uriegas committed
238
      - load_conda_channel_flags
peterjc123's avatar
peterjc123 committed
239
240
241
242
243
244
245
246
247
248
      - run:
          name: build
          command: |
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda activate base
            conda install -yq conda-build "conda-package-handling!=1.5.0"
            bash packaging/build_conda.sh
      - store_artifacts:
          path: C:/tools/miniconda3/conda-bld/win-64
      - persist_to_workspace:
249
          root: C:/tools/miniconda3
peterjc123's avatar
peterjc123 committed
250
          paths:
251
            - "conda-bld/*"
peterjc123's avatar
peterjc123 committed
252

Edward Z. Yang's avatar
Edward Z. Yang committed
253
254
255
256
257
258
259
  # Requires org-member context
  binary_conda_upload:
    docker:
      - image: continuumio/miniconda
    steps:
      - attach_workspace:
          at: ~/workspace
260
      - designate_upload_channel
Edward Z. Yang's avatar
Edward Z. Yang committed
261
262
263
264
265
      - run:
          command: |
            # Prevent credential from leaking
            conda install -yq anaconda-client
            set -x
266
            anaconda -t "${CONDA_PYTORCHBOT_TOKEN}" upload ~/workspace/conda-bld/*/*.tar.bz2 -u "pytorch-${UPLOAD_CHANNEL}" --label main --no-progress --force
Edward Z. Yang's avatar
Edward Z. Yang committed
267
268
269
270

  # Requires org-member context
  binary_wheel_upload:
    docker:
271
      - image: circleci/python:3.8
Edward Z. Yang's avatar
Edward Z. Yang committed
272
273
274
275
    steps:
      - attach_workspace:
          at: ~/workspace
      - checkout
276
      - designate_upload_channel
Edward Z. Yang's avatar
Edward Z. Yang committed
277
278
279
280
281
282
283
284
285
286
      - run:
          command: |
            pip install --user awscli
            export PATH="$HOME/.local/bin:$PATH"
            # Prevent credential from leaking
            set +x
            export AWS_ACCESS_KEY_ID="${PYTORCH_BINARY_AWS_ACCESS_KEY_ID}"
            export AWS_SECRET_ACCESS_KEY="${PYTORCH_BINARY_AWS_SECRET_ACCESS_KEY}"
            set -x
            for pkg in ~/workspace/*.whl; do
287
              aws s3 cp "$pkg" "s3://pytorch/whl/${UPLOAD_CHANNEL}/" --acl public-read
Edward Z. Yang's avatar
Edward Z. Yang committed
288
            done
289

Mingbo Wan's avatar
Mingbo Wan committed
290
291
292
  smoke_test_linux_conda:
    <<: *smoke_test_common
    steps:
Mingbo Wan's avatar
Mingbo Wan committed
293
294
      - attach_workspace:
          at: ~/workspace
295
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
296
      - load_conda_channel_flags
Mingbo Wan's avatar
Mingbo Wan committed
297
      - run:
Mingbo Wan's avatar
Mingbo Wan committed
298
          name: install binaries
Mingbo Wan's avatar
Mingbo Wan committed
299
300
301
          command: |
            set -x
            source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
302
            conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
303
            conda install -v -y -c file://$HOME/workspace/conda-bld torchaudio
Mingbo Wan's avatar
Mingbo Wan committed
304
305
306
307
      - run:
          name: smoke test
          command: |
            source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
Mingbo Wan's avatar
Mingbo Wan committed
308
309
310
311
312
            python -c "import torchaudio"

  smoke_test_linux_pip:
    <<: *smoke_test_common
    steps:
Mingbo Wan's avatar
Mingbo Wan committed
313
314
      - attach_workspace:
          at: ~/workspace
315
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
316
      - load_conda_channel_flags
Mingbo Wan's avatar
Mingbo Wan committed
317
      - run:
Mingbo Wan's avatar
Mingbo Wan committed
318
          name: install binaries
Mingbo Wan's avatar
Mingbo Wan committed
319
320
321
          command: |
            set -x
            source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
322
            pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/torch_${UPLOAD_CHANNEL}.html"
Mingbo Wan's avatar
Mingbo Wan committed
323
324
325
326
      - run:
          name: smoke test
          command: |
            source /usr/local/etc/profile.d/conda.sh && conda activate python${PYTHON_VERSION}
Mingbo Wan's avatar
Mingbo Wan committed
327
328
            python -c "import torchaudio"

329
330
331
332
333
334
335
  smoke_test_windows_conda:
    <<: *binary_common
    executor:
      name: windows-cpu
    steps:
      - attach_workspace:
          at: ~/workspace
336
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
337
      - load_conda_channel_flags
338
339
340
341
342
343
344
345
      - run:
          name: install binaries
          command: |
            set -x
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda env remove -n python${PYTHON_VERSION} || true
            conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
            conda activate python${PYTHON_VERSION}
346
            conda install -v -y -c pytorch-${UPLOAD_CHANNEL} pytorch cpuonly
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
            conda install -v -y $(ls ~/workspace/torchaudio*.tar.bz2)
      - run:
          name: smoke test
          command: |
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda activate python${PYTHON_VERSION}
            python -c "import torchaudio"

  smoke_test_windows_pip:
    <<: *binary_common
    executor:
      name: windows-cpu
    steps:
      - attach_workspace:
          at: ~/workspace
362
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
363
      - load_conda_channel_flags
364
365
366
367
368
369
370
371
      - run:
          name: install binaries
          command: |
            set -x
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda env remove -n python${PYTHON_VERSION} || true
            conda create -yn python${PYTHON_VERSION} python=${PYTHON_VERSION}
            conda activate python${PYTHON_VERSION}
372
            pip install $(ls ~/workspace/torchaudio*.whl) -f "https://download.pytorch.org/whl/${UPLOAD_CHANNEL}/torch_${UPLOAD_CHANNEL}.html"
373
374
375
376
377
378
379
      - run:
          name: smoke test
          command: |
            eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
            conda activate python${PYTHON_VERSION}
            python -c "import torchaudio"

380
  smoke_test_docker_image_build:
Mingbo Wan's avatar
Mingbo Wan committed
381
382
383
384
385
386
387
388
389
390
391
    machine:
      image: ubuntu-1604:201903-01
    resource_class: large
    environment:
      image_name: torchaudio/smoke_test
    steps:
      - checkout
      - run:
          name: build_docker image
          no_output_timeout: "1h"
          command: |
392
            cd .circleci/smoke_test/docker && docker build . -t ${image_name}:${CIRCLE_WORKFLOW_ID}
Mingbo Wan's avatar
Mingbo Wan committed
393
394
395
396
397
398
399
400
401
402
      - run:
          name: upload docker image
          no_output_timeout: "1h"
          command: |
            set +x
            export AWS_ACCESS_KEY_ID=${ECR_AWS_ACCESS_KEY}
            export AWS_SECRET_ACCESS_KEY=${ECR_AWS_SECRET_ACCESS_KEY}
            eval $(aws ecr get-login --region us-east-1 --no-include-email)
            set -x
            docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
403
            docker tag ${image_name}:${CIRCLE_WORKFLOW_ID} 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
Mingbo Wan's avatar
Mingbo Wan committed
404
            docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:${CIRCLE_WORKFLOW_ID}
405
            docker push 308535385114.dkr.ecr.us-east-1.amazonaws.com/${image_name}:latest
Mingbo Wan's avatar
Mingbo Wan committed
406

moto's avatar
moto committed
407
  unittest_linux_cpu:
moto's avatar
moto committed
408
409
    <<: *binary_common
    docker:
410
      - image: pytorch/torchaudio_unittest_base:manylinux-20210121
moto's avatar
moto committed
411
412
413
    resource_class: 2xlarge+
    steps:
      - checkout
414
415
      - attach_workspace:
          at: third_party
416
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
417
      - load_conda_channel_flags
418
419
420
421
422
423
424
425
426
427
428
      - run:
          name: Setup
          command: .circleci/unittest/linux/scripts/setup_env.sh
      - run:
          name: Install torchaudio
          command: .circleci/unittest/linux/scripts/install.sh
      - run:
          name: Run tests
          command: .circleci/unittest/linux/scripts/run_test.sh
      - store_test_results:
          path: test-results
429
430
      - store_artifacts:
          path: test/htmlcov
moto's avatar
moto committed
431
432
433
434
435
436
  unittest_linux_gpu:
    <<: *binary_common
    machine:
      image: ubuntu-1604-cuda-10.1:201909-23
    resource_class: gpu.small
    environment:
437
      <<: *environment
438
      image_name: pytorch/torchaudio_unittest_base:manylinux-cuda10.1-cudnn7-20210121
moto's avatar
moto committed
439
440
    steps:
      - checkout
441
442
      - attach_workspace:
          at: third_party
443
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
444
      - load_conda_channel_flags
445
446
447
      - run:
          name: Pull Docker image
          command: docker pull --quiet "${image_name}"
moto's avatar
moto committed
448
449
      - run:
          name: Setup
450
          command: docker run -t --gpus all -e PYTHON_VERSION -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/setup_env.sh
moto's avatar
moto committed
451
452
      - run:
          name: Install torchaudio
Eli Uriegas's avatar
Eli Uriegas committed
453
          command: docker run -t --gpus all -e UPLOAD_CHANNEL -e CONDA_CHANNEL_FLAGS -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/install.sh
moto's avatar
moto committed
454
455
456
457
458
      - run:
          name: Run tests
          command: docker run -t --gpus all -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/run_test.sh
      - store_test_results:
          path: test-results
459
460
      - store_artifacts:
          path: test/htmlcov
moto's avatar
moto committed
461
462

  unittest_windows_cpu:
463
464
465
466
467
    <<: *binary_common
    executor:
      name: windows-cpu
    steps:
      - checkout
468
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
469
      - load_conda_channel_flags
moto's avatar
moto committed
470
471
      - run:
          name: Setup
472
          command: .circleci/unittest/windows/scripts/setup_env.sh
moto's avatar
moto committed
473
      - run:
474
          name: Install torchaudio
475
          command: .circleci/unittest/windows/scripts/install.sh
moto's avatar
moto committed
476
      - run:
477
          name: Run tests
478
          command: .circleci/unittest/windows/scripts/run_test.sh
moto's avatar
moto committed
479
480
      - store_test_results:
          path: test-results
481
482
      - store_artifacts:
          path: test/htmlcov
moto's avatar
moto committed
483

484
485
486
487
488
  unittest_windows_gpu:
    <<: *binary_common
    executor:
      name: windows-gpu
    environment:
489
      <<: *environment
490
491
492
      CUDA_VERSION: "10.1"
    steps:
      - checkout
493
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
494
      - load_conda_channel_flags
495
496
497
498
499
500
501
502
503
504
505
      - run:
          name: Setup
          command: .circleci/unittest/windows/scripts/setup_env.sh
      - run:
          name: Install torchaudio
          command: .circleci/unittest/windows/scripts/install.sh
      - run:
          name: Run tests
          command: .circleci/unittest/windows/scripts/run_test.sh
      - store_test_results:
          path: test-results
506
507
      - store_artifacts:
          path: test/htmlcov
508

moto's avatar
moto committed
509
510
511
  unittest_macos_cpu:
    <<: *binary_common
    macos:
512
      xcode: "9.4.1"
moto's avatar
moto committed
513
514
515
516
    resource_class: large
    steps:
      - checkout
      - install_build_tools_macos
Eli Uriegas's avatar
Eli Uriegas committed
517
      - load_conda_channel_flags
moto's avatar
moto committed
518
519
      - attach_workspace:
          at: third_party
520
      - designate_upload_channel
moto's avatar
moto committed
521
522
523
524
525
526
527
528
529
530
531
      - run:
          name: Setup
          command: .circleci/unittest/linux/scripts/setup_env.sh
      - run:
          name: Install torchaudio
          command: .circleci/unittest/linux/scripts/install.sh
      - run:
          name: Run tests
          command: .circleci/unittest/linux/scripts/run_test.sh
      - store_test_results:
          path: test-results
532
533
      - store_artifacts:
          path: test/htmlcov
moto's avatar
moto committed
534

535
536
537
538
539
540
541
  stylecheck:
    <<: *binary_common
    docker:
      - image: "pytorch/torchaudio_unittest_base:manylinux"
    resource_class: medium
    steps:
      - checkout
542
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
543
      - load_conda_channel_flags
544
545
546
547
548
549
550
      - run:
          name: Setup
          command: .circleci/unittest/linux/scripts/setup_env.sh
      - run:
          name: Run style check
          command: .circleci/unittest/linux/scripts/run_style_checks.sh

551
552
553
554
555
556
557
558
559
  build_docs:
    <<: *binary_common
    docker:
      - image: "pytorch/manylinux-cuda100"
    resource_class: 2xlarge+
    steps:
      - attach_workspace:
          at: ~/workspace
      - checkout
Eli Uriegas's avatar
Eli Uriegas committed
560
      - load_conda_channel_flags
561
562
563
564
565
566
567
      - run:
          name: Install pytorch-audio
          command: .circleci/build_docs/install_wheels.sh
      - run:
          name: Build docs
          command: .circleci/build_docs/build_docs.sh
      - persist_to_workspace:
568
          root: ./
569
570
          paths:
            - "*"
571
572
573
      - store_artifacts:
          path: ./docs/build/html
          destination: docs
574
575
576
577
578
579
580
581
582

  upload_docs:
    <<: *binary_common
    docker:
      - image: "pytorch/manylinux-cuda100"
    resource_class: 2xlarge+
    steps:
      - attach_workspace:
          at: ~/workspace
583
584
585
586
587
588
589
590
591
592
      - run:
          name: Generate netrc
          command: |
            # set credentials for https pushing
            # requires the org-member context
            cat > ~/.netrc \<<DONE
              machine github.com
              login pytorchbot
              password ${GITHUB_PYTORCHBOT_TOKEN}
            DONE
593
594
595
      - run:
          name: Upload docs
          command: |
596
597
            # Don't use "checkout" step since it uses ssh, which cannot git push
            # https://circleci.com/docs/2.0/configuration-reference/#checkout
598
599
600
            set -ex
            tag=${CIRCLE_TAG:1:5}
            target=${tag:-master}
Matti Picus's avatar
Matti Picus committed
601
            ~/workspace/.circleci/build_docs/commit_docs.sh ~/workspace $target
602

603
604
605
606
607
608
609
610
611
612
613
614
  docstring_parameters_sync:
    <<: *binary_common
    docker:
      - image: circleci/python:3.8
    steps:
      - checkout
      - run:
          name: Check parameters docstring sync
          command: |
            pip install --user pydocstyle
            pydocstyle torchaudio

615
616
617
workflows:
  build:
    jobs:
618
      - circleci_consistency
619
620
      - download_third_parties_nix:
          name: download_third_parties_nix
621
622
      - binary_linux_wheel:
          name: binary_linux_wheel_py3.6
623
          python_version: '3.6'
624
625
          requires:
          - download_third_parties_nix
626
627
      - binary_linux_wheel:
          name: binary_linux_wheel_py3.7
628
          python_version: '3.7'
629
630
          requires:
          - download_third_parties_nix
631
632
633
      - binary_linux_wheel:
          name: binary_linux_wheel_py3.8
          python_version: '3.8'
634
635
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
636
637
638
639
640
      - binary_linux_wheel:
          name: binary_linux_wheel_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
641
642
      - binary_macos_wheel:
          name: binary_macos_wheel_py3.6
643
          python_version: '3.6'
644
645
          requires:
          - download_third_parties_nix
646
647
      - binary_macos_wheel:
          name: binary_macos_wheel_py3.7
648
          python_version: '3.7'
649
650
          requires:
          - download_third_parties_nix
651
652
653
      - binary_macos_wheel:
          name: binary_macos_wheel_py3.8
          python_version: '3.8'
654
655
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
656
657
658
659
660
      - binary_macos_wheel:
          name: binary_macos_wheel_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
peterjc123's avatar
peterjc123 committed
661
662
663
664
665
666
667
668
669
      - binary_windows_wheel:
          name: binary_windows_wheel_py3.6
          python_version: '3.6'
      - binary_windows_wheel:
          name: binary_windows_wheel_py3.7
          python_version: '3.7'
      - binary_windows_wheel:
          name: binary_windows_wheel_py3.8
          python_version: '3.8'
Eli Uriegas's avatar
Eli Uriegas committed
670
671
672
      - binary_windows_wheel:
          name: binary_windows_wheel_py3.9
          python_version: '3.9'
673
674
      - binary_linux_conda:
          name: binary_linux_conda_py3.6
675
          python_version: '3.6'
676
677
          requires:
          - download_third_parties_nix
678
679
      - binary_linux_conda:
          name: binary_linux_conda_py3.7
680
          python_version: '3.7'
681
682
          requires:
          - download_third_parties_nix
683
684
685
      - binary_linux_conda:
          name: binary_linux_conda_py3.8
          python_version: '3.8'
686
687
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
688
689
690
691
692
      - binary_linux_conda:
          name: binary_linux_conda_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
693
694
      - binary_macos_conda:
          name: binary_macos_conda_py3.6
695
          python_version: '3.6'
696
697
          requires:
          - download_third_parties_nix
698
699
      - binary_macos_conda:
          name: binary_macos_conda_py3.7
700
          python_version: '3.7'
701
702
          requires:
          - download_third_parties_nix
703
704
705
      - binary_macos_conda:
          name: binary_macos_conda_py3.8
          python_version: '3.8'
706
707
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
708
709
710
711
712
      - binary_macos_conda:
          name: binary_macos_conda_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
peterjc123's avatar
peterjc123 committed
713
714
715
716
717
718
719
720
721
      - binary_windows_conda:
          name: binary_windows_conda_py3.6
          python_version: '3.6'
      - binary_windows_conda:
          name: binary_windows_conda_py3.7
          python_version: '3.7'
      - binary_windows_conda:
          name: binary_windows_conda_py3.8
          python_version: '3.8'
Eli Uriegas's avatar
Eli Uriegas committed
722
723
724
      - binary_windows_conda:
          name: binary_windows_conda_py3.9
          python_version: '3.9'
725
726
727
728
729
730
      - build_docs:
          name: build_docs
          python_version: '3.8'
          requires:
          - binary_linux_wheel_py3.8
      - upload_docs:
731
          context: org-member
732
733
734
735
736
737
738
739
740
741
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: upload_docs
          python_version: '3.8'
          requires:
          - build_docs
742
743
744
745
746
      - docstring_parameters_sync:
          name: docstring_parameters_sync
          python_version: '3.8'
          requires:
          - binary_linux_wheel_py3.8
moto's avatar
moto committed
747
748
  unittest:
    jobs:
749
750
      - download_third_parties_nix:
          name: download_third_parties_nix
moto's avatar
moto committed
751
752
753
      - unittest_linux_cpu:
          name: unittest_linux_cpu_py3.6
          python_version: '3.6'
754
755
          requires:
          - download_third_parties_nix
756
757
758
      - stylecheck:
          name: stylecheck_py3.6
          python_version: '3.6'
moto's avatar
moto committed
759
760
761
      - unittest_linux_cpu:
          name: unittest_linux_cpu_py3.7
          python_version: '3.7'
762
763
          requires:
          - download_third_parties_nix
moto's avatar
moto committed
764
765
766
      - unittest_linux_cpu:
          name: unittest_linux_cpu_py3.8
          python_version: '3.8'
767
768
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
769
770
771
772
773
      - unittest_linux_cpu:
          name: unittest_linux_cpu_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
moto's avatar
moto committed
774
775
      - unittest_linux_gpu:
          name: unittest_linux_gpu_py3.6
moto's avatar
moto committed
776
          python_version: '3.6'
777
778
          requires:
          - download_third_parties_nix
moto's avatar
moto committed
779
780
      - unittest_linux_gpu:
          name: unittest_linux_gpu_py3.7
moto's avatar
moto committed
781
          python_version: '3.7'
782
783
          requires:
          - download_third_parties_nix
moto's avatar
moto committed
784
785
      - unittest_linux_gpu:
          name: unittest_linux_gpu_py3.8
moto's avatar
moto committed
786
          python_version: '3.8'
787
788
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
789
790
791
792
793
      - unittest_linux_gpu:
          name: unittest_linux_gpu_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
moto's avatar
moto committed
794
795
      - unittest_windows_cpu:
          name: unittest_windows_cpu_py3.6
796
          python_version: '3.6'
moto's avatar
moto committed
797
798
      - unittest_windows_cpu:
          name: unittest_windows_cpu_py3.7
799
          python_version: '3.7'
moto's avatar
moto committed
800
801
      - unittest_windows_cpu:
          name: unittest_windows_cpu_py3.8
802
          python_version: '3.8'
Eli Uriegas's avatar
Eli Uriegas committed
803
804
805
      - unittest_windows_cpu:
          name: unittest_windows_cpu_py3.9
          python_version: '3.9'
806
807
808
809
810
811
812
813
814
      - unittest_windows_gpu:
          name: unittest_windows_gpu_py3.6
          python_version: '3.6'
      - unittest_windows_gpu:
          name: unittest_windows_gpu_py3.7
          python_version: '3.7'
      - unittest_windows_gpu:
          name: unittest_windows_gpu_py3.8
          python_version: '3.8'
Eli Uriegas's avatar
Eli Uriegas committed
815
816
817
      - unittest_windows_gpu:
          name: unittest_windows_gpu_py3.9
          python_version: '3.9'
moto's avatar
moto committed
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
      - unittest_macos_cpu:
          name: unittest_macos_cpu_py3.6
          python_version: '3.6'
          requires:
          - download_third_parties_nix
      - unittest_macos_cpu:
          name: unittest_macos_cpu_py3.7
          python_version: '3.7'
          requires:
          - download_third_parties_nix
      - unittest_macos_cpu:
          name: unittest_macos_cpu_py3.8
          python_version: '3.8'
          requires:
          - download_third_parties_nix
Eli Uriegas's avatar
Eli Uriegas committed
833
834
835
836
837
      - unittest_macos_cpu:
          name: unittest_macos_cpu_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
838
839
  nightly:
    jobs:
moto's avatar
moto committed
840
841
842
843
      - circleci_consistency:
          filters:
            branches:
              only: nightly
844
845
846
      - download_third_parties_nix:
          filters:
            branches:
moto's avatar
moto committed
847
848
              only:
              - nightly
849
850
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
851
          name: download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
852
      - binary_linux_wheel:
Edward Z. Yang's avatar
Edward Z. Yang committed
853
854
          filters:
            branches:
moto's avatar
moto committed
855
856
              only:
              - nightly
857
858
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
859
860
          name: nightly_binary_linux_wheel_py3.6
          python_version: '3.6'
861
862
          requires:
          - download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
863
864
      - binary_wheel_upload:
          context: org-member
865
866
          filters:
            branches:
moto's avatar
moto committed
867
868
              only:
              - nightly
869
870
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
871
          name: nightly_binary_linux_wheel_py3.6_upload
Edward Z. Yang's avatar
Edward Z. Yang committed
872
          requires:
873
          - nightly_binary_linux_wheel_py3.6
Mingbo Wan's avatar
Mingbo Wan committed
874
      - smoke_test_linux_pip:
Edward Z. Yang's avatar
Edward Z. Yang committed
875
876
          filters:
            branches:
moto's avatar
moto committed
877
878
              only:
              - nightly
879
880
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
881
882
883
884
          name: nightly_binary_linux_wheel_py3.6_smoke_test_pip
          python_version: '3.6'
          requires:
          - nightly_binary_linux_wheel_py3.6_upload
885
      - binary_linux_wheel:
Edward Z. Yang's avatar
Edward Z. Yang committed
886
887
          filters:
            branches:
moto's avatar
moto committed
888
889
              only:
              - nightly
890
891
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
892
893
          name: nightly_binary_linux_wheel_py3.7
          python_version: '3.7'
894
895
          requires:
          - download_third_parties_nix
896
897
      - binary_wheel_upload:
          context: org-member
898
899
          filters:
            branches:
moto's avatar
moto committed
900
901
              only:
              - nightly
902
903
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
904
          name: nightly_binary_linux_wheel_py3.7_upload
905
          requires:
906
          - nightly_binary_linux_wheel_py3.7
Mingbo Wan's avatar
Mingbo Wan committed
907
      - smoke_test_linux_pip:
Edward Z. Yang's avatar
Edward Z. Yang committed
908
909
          filters:
            branches:
moto's avatar
moto committed
910
911
              only:
              - nightly
912
913
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
914
915
916
917
          name: nightly_binary_linux_wheel_py3.7_smoke_test_pip
          python_version: '3.7'
          requires:
          - nightly_binary_linux_wheel_py3.7_upload
918
919
920
      - binary_linux_wheel:
          filters:
            branches:
moto's avatar
moto committed
921
922
              only:
              - nightly
923
924
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
925
926
          name: nightly_binary_linux_wheel_py3.8
          python_version: '3.8'
927
928
          requires:
          - download_third_parties_nix
929
930
931
932
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
933
934
              only:
              - nightly
935
936
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
937
938
939
940
941
942
          name: nightly_binary_linux_wheel_py3.8_upload
          requires:
          - nightly_binary_linux_wheel_py3.8
      - smoke_test_linux_pip:
          filters:
            branches:
moto's avatar
moto committed
943
944
              only:
              - nightly
945
946
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
947
948
949
950
          name: nightly_binary_linux_wheel_py3.8_smoke_test_pip
          python_version: '3.8'
          requires:
          - nightly_binary_linux_wheel_py3.8_upload
Eli Uriegas's avatar
Eli Uriegas committed
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
      - binary_linux_wheel:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_wheel_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_wheel_py3.9_upload
          requires:
          - nightly_binary_linux_wheel_py3.9
      - smoke_test_linux_pip:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_wheel_py3.9_smoke_test_pip
          python_version: '3.9'
          requires:
          - nightly_binary_linux_wheel_py3.9_upload
Edward Z. Yang's avatar
Edward Z. Yang committed
984
      - binary_macos_wheel:
Edward Z. Yang's avatar
Edward Z. Yang committed
985
986
          filters:
            branches:
moto's avatar
moto committed
987
988
              only:
              - nightly
989
990
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
991
992
          name: nightly_binary_macos_wheel_py3.6
          python_version: '3.6'
993
994
          requires:
          - download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
995
996
      - binary_wheel_upload:
          context: org-member
Edward Z. Yang's avatar
Edward Z. Yang committed
997
998
          filters:
            branches:
moto's avatar
moto committed
999
1000
              only:
              - nightly
1001
1002
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1003
1004
1005
          name: nightly_binary_macos_wheel_py3.6_upload
          requires:
          - nightly_binary_macos_wheel_py3.6
1006
      - binary_macos_wheel:
Edward Z. Yang's avatar
Edward Z. Yang committed
1007
1008
          filters:
            branches:
moto's avatar
moto committed
1009
1010
              only:
              - nightly
1011
1012
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1013
1014
          name: nightly_binary_macos_wheel_py3.7
          python_version: '3.7'
1015
1016
          requires:
          - download_third_parties_nix
1017
1018
      - binary_wheel_upload:
          context: org-member
Edward Z. Yang's avatar
Edward Z. Yang committed
1019
1020
          filters:
            branches:
moto's avatar
moto committed
1021
1022
              only:
              - nightly
1023
1024
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1025
1026
1027
          name: nightly_binary_macos_wheel_py3.7_upload
          requires:
          - nightly_binary_macos_wheel_py3.7
1028
1029
1030
      - binary_macos_wheel:
          filters:
            branches:
moto's avatar
moto committed
1031
1032
              only:
              - nightly
1033
1034
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1035
1036
          name: nightly_binary_macos_wheel_py3.8
          python_version: '3.8'
1037
1038
          requires:
          - download_third_parties_nix
1039
1040
1041
1042
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1043
1044
              only:
              - nightly
1045
1046
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1047
1048
1049
          name: nightly_binary_macos_wheel_py3.8_upload
          requires:
          - nightly_binary_macos_wheel_py3.8
Eli Uriegas's avatar
Eli Uriegas committed
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
      - binary_macos_wheel:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_macos_wheel_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_macos_wheel_py3.9_upload
          requires:
          - nightly_binary_macos_wheel_py3.9
peterjc123's avatar
peterjc123 committed
1072
1073
1074
      - binary_windows_wheel:
          filters:
            branches:
moto's avatar
moto committed
1075
1076
              only:
              - nightly
1077
1078
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1079
1080
1081
1082
1083
1084
          name: nightly_binary_windows_wheel_py3.6
          python_version: '3.6'
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1085
1086
              only:
              - nightly
1087
1088
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1089
1090
1091
          name: nightly_binary_windows_wheel_py3.6_upload
          requires:
          - nightly_binary_windows_wheel_py3.6
1092
1093
1094
      - smoke_test_windows_pip:
          filters:
            branches:
moto's avatar
moto committed
1095
1096
              only:
              - nightly
1097
1098
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1099
1100
1101
1102
          name: nightly_binary_windows_wheel_py3.6_smoke_test_pip
          python_version: '3.6'
          requires:
          - nightly_binary_windows_wheel_py3.6_upload
peterjc123's avatar
peterjc123 committed
1103
1104
1105
      - binary_windows_wheel:
          filters:
            branches:
moto's avatar
moto committed
1106
1107
              only:
              - nightly
1108
1109
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1110
1111
1112
1113
1114
1115
          name: nightly_binary_windows_wheel_py3.7
          python_version: '3.7'
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1116
1117
              only:
              - nightly
1118
1119
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1120
1121
1122
          name: nightly_binary_windows_wheel_py3.7_upload
          requires:
          - nightly_binary_windows_wheel_py3.7
1123
1124
1125
      - smoke_test_windows_pip:
          filters:
            branches:
moto's avatar
moto committed
1126
1127
              only:
              - nightly
1128
1129
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1130
1131
1132
1133
          name: nightly_binary_windows_wheel_py3.7_smoke_test_pip
          python_version: '3.7'
          requires:
          - nightly_binary_windows_wheel_py3.7_upload
peterjc123's avatar
peterjc123 committed
1134
1135
1136
      - binary_windows_wheel:
          filters:
            branches:
moto's avatar
moto committed
1137
1138
              only:
              - nightly
1139
1140
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1141
1142
1143
1144
1145
1146
          name: nightly_binary_windows_wheel_py3.8
          python_version: '3.8'
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1147
1148
              only:
              - nightly
1149
1150
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1151
1152
1153
          name: nightly_binary_windows_wheel_py3.8_upload
          requires:
          - nightly_binary_windows_wheel_py3.8
1154
1155
1156
      - smoke_test_windows_pip:
          filters:
            branches:
moto's avatar
moto committed
1157
1158
              only:
              - nightly
1159
1160
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1161
1162
1163
1164
          name: nightly_binary_windows_wheel_py3.8_smoke_test_pip
          python_version: '3.8'
          requires:
          - nightly_binary_windows_wheel_py3.8_upload
Eli Uriegas's avatar
Eli Uriegas committed
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
      - binary_windows_wheel:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_wheel_py3.9
          python_version: '3.9'
      - binary_wheel_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_wheel_py3.9_upload
          requires:
          - nightly_binary_windows_wheel_py3.9
      - smoke_test_windows_pip:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_wheel_py3.9_smoke_test_pip
          python_version: '3.9'
          requires:
          - nightly_binary_windows_wheel_py3.9_upload
Edward Z. Yang's avatar
Edward Z. Yang committed
1196
      - binary_linux_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1197
1198
          filters:
            branches:
moto's avatar
moto committed
1199
1200
              only:
              - nightly
1201
1202
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1203
1204
          name: nightly_binary_linux_conda_py3.6
          python_version: '3.6'
1205
1206
          requires:
          - download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
1207
1208
      - binary_conda_upload:
          context: org-member
1209
1210
          filters:
            branches:
moto's avatar
moto committed
1211
1212
              only:
              - nightly
1213
1214
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1215
          name: nightly_binary_linux_conda_py3.6_upload
Edward Z. Yang's avatar
Edward Z. Yang committed
1216
          requires:
1217
          - nightly_binary_linux_conda_py3.6
Mingbo Wan's avatar
Mingbo Wan committed
1218
      - smoke_test_linux_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1219
1220
          filters:
            branches:
moto's avatar
moto committed
1221
1222
              only:
              - nightly
1223
1224
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1225
1226
1227
1228
          name: nightly_binary_linux_conda_py3.6_smoke_test_conda
          python_version: '3.6'
          requires:
          - nightly_binary_linux_conda_py3.6_upload
1229
      - binary_linux_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1230
1231
          filters:
            branches:
moto's avatar
moto committed
1232
1233
              only:
              - nightly
1234
1235
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1236
1237
          name: nightly_binary_linux_conda_py3.7
          python_version: '3.7'
1238
1239
          requires:
          - download_third_parties_nix
1240
1241
      - binary_conda_upload:
          context: org-member
1242
1243
          filters:
            branches:
moto's avatar
moto committed
1244
1245
              only:
              - nightly
1246
1247
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1248
          name: nightly_binary_linux_conda_py3.7_upload
1249
          requires:
1250
          - nightly_binary_linux_conda_py3.7
Mingbo Wan's avatar
Mingbo Wan committed
1251
      - smoke_test_linux_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1252
1253
          filters:
            branches:
moto's avatar
moto committed
1254
1255
              only:
              - nightly
1256
1257
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1258
1259
1260
1261
          name: nightly_binary_linux_conda_py3.7_smoke_test_conda
          python_version: '3.7'
          requires:
          - nightly_binary_linux_conda_py3.7_upload
1262
1263
1264
      - binary_linux_conda:
          filters:
            branches:
moto's avatar
moto committed
1265
1266
              only:
              - nightly
1267
1268
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1269
1270
          name: nightly_binary_linux_conda_py3.8
          python_version: '3.8'
1271
1272
          requires:
          - download_third_parties_nix
1273
1274
1275
1276
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1277
1278
              only:
              - nightly
1279
1280
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1281
1282
1283
1284
1285
1286
          name: nightly_binary_linux_conda_py3.8_upload
          requires:
          - nightly_binary_linux_conda_py3.8
      - smoke_test_linux_conda:
          filters:
            branches:
moto's avatar
moto committed
1287
1288
              only:
              - nightly
1289
1290
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1291
1292
1293
1294
          name: nightly_binary_linux_conda_py3.8_smoke_test_conda
          python_version: '3.8'
          requires:
          - nightly_binary_linux_conda_py3.8_upload
Eli Uriegas's avatar
Eli Uriegas committed
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
      - binary_linux_conda:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_conda_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_conda_py3.9_upload
          requires:
          - nightly_binary_linux_conda_py3.9
      - smoke_test_linux_conda:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_linux_conda_py3.9_smoke_test_conda
          python_version: '3.9'
          requires:
          - nightly_binary_linux_conda_py3.9_upload
Edward Z. Yang's avatar
Edward Z. Yang committed
1328
      - binary_macos_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1329
1330
          filters:
            branches:
moto's avatar
moto committed
1331
1332
              only:
              - nightly
1333
1334
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1335
1336
          name: nightly_binary_macos_conda_py3.6
          python_version: '3.6'
1337
1338
          requires:
          - download_third_parties_nix
Edward Z. Yang's avatar
Edward Z. Yang committed
1339
1340
      - binary_conda_upload:
          context: org-member
Edward Z. Yang's avatar
Edward Z. Yang committed
1341
1342
          filters:
            branches:
moto's avatar
moto committed
1343
1344
              only:
              - nightly
1345
1346
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1347
1348
1349
          name: nightly_binary_macos_conda_py3.6_upload
          requires:
          - nightly_binary_macos_conda_py3.6
1350
      - binary_macos_conda:
Edward Z. Yang's avatar
Edward Z. Yang committed
1351
1352
          filters:
            branches:
moto's avatar
moto committed
1353
1354
              only:
              - nightly
1355
1356
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1357
1358
          name: nightly_binary_macos_conda_py3.7
          python_version: '3.7'
1359
1360
          requires:
          - download_third_parties_nix
1361
1362
      - binary_conda_upload:
          context: org-member
Edward Z. Yang's avatar
Edward Z. Yang committed
1363
1364
          filters:
            branches:
moto's avatar
moto committed
1365
1366
              only:
              - nightly
1367
1368
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1369
1370
1371
          name: nightly_binary_macos_conda_py3.7_upload
          requires:
          - nightly_binary_macos_conda_py3.7
1372
1373
1374
      - binary_macos_conda:
          filters:
            branches:
moto's avatar
moto committed
1375
1376
              only:
              - nightly
1377
1378
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1379
1380
          name: nightly_binary_macos_conda_py3.8
          python_version: '3.8'
1381
1382
          requires:
          - download_third_parties_nix
1383
1384
1385
1386
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1387
1388
              only:
              - nightly
1389
1390
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1391
1392
1393
          name: nightly_binary_macos_conda_py3.8_upload
          requires:
          - nightly_binary_macos_conda_py3.8
Eli Uriegas's avatar
Eli Uriegas committed
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
      - binary_macos_conda:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_macos_conda_py3.9
          python_version: '3.9'
          requires:
          - download_third_parties_nix
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_macos_conda_py3.9_upload
          requires:
          - nightly_binary_macos_conda_py3.9
peterjc123's avatar
peterjc123 committed
1416
1417
1418
      - binary_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1419
1420
              only:
              - nightly
1421
1422
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1423
1424
1425
1426
1427
1428
          name: nightly_binary_windows_conda_py3.6
          python_version: '3.6'
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1429
1430
              only:
              - nightly
1431
1432
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1433
1434
1435
          name: nightly_binary_windows_conda_py3.6_upload
          requires:
          - nightly_binary_windows_conda_py3.6
1436
1437
1438
      - smoke_test_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1439
1440
              only:
              - nightly
1441
1442
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1443
1444
1445
1446
          name: nightly_binary_windows_conda_py3.6_smoke_test_conda
          python_version: '3.6'
          requires:
          - nightly_binary_windows_conda_py3.6_upload
peterjc123's avatar
peterjc123 committed
1447
1448
1449
      - binary_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1450
1451
              only:
              - nightly
1452
1453
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1454
1455
1456
1457
1458
1459
          name: nightly_binary_windows_conda_py3.7
          python_version: '3.7'
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1460
1461
              only:
              - nightly
1462
1463
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1464
1465
1466
          name: nightly_binary_windows_conda_py3.7_upload
          requires:
          - nightly_binary_windows_conda_py3.7
1467
1468
1469
      - smoke_test_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1470
1471
              only:
              - nightly
1472
1473
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1474
1475
1476
1477
          name: nightly_binary_windows_conda_py3.7_smoke_test_conda
          python_version: '3.7'
          requires:
          - nightly_binary_windows_conda_py3.7_upload
peterjc123's avatar
peterjc123 committed
1478
1479
1480
      - binary_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1481
1482
              only:
              - nightly
1483
1484
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1485
1486
1487
1488
1489
1490
          name: nightly_binary_windows_conda_py3.8
          python_version: '3.8'
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
moto's avatar
moto committed
1491
1492
              only:
              - nightly
1493
1494
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
peterjc123's avatar
peterjc123 committed
1495
1496
1497
          name: nightly_binary_windows_conda_py3.8_upload
          requires:
          - nightly_binary_windows_conda_py3.8
1498
1499
1500
      - smoke_test_windows_conda:
          filters:
            branches:
moto's avatar
moto committed
1501
1502
              only:
              - nightly
1503
1504
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
1505
1506
1507
1508
          name: nightly_binary_windows_conda_py3.8_smoke_test_conda
          python_version: '3.8'
          requires:
          - nightly_binary_windows_conda_py3.8_upload
Eli Uriegas's avatar
Eli Uriegas committed
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
      - binary_windows_conda:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_conda_py3.9
          python_version: '3.9'
      - binary_conda_upload:
          context: org-member
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_conda_py3.9_upload
          requires:
          - nightly_binary_windows_conda_py3.9
      - smoke_test_windows_conda:
          filters:
            branches:
              only:
              - nightly
            tags:
              only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
          name: nightly_binary_windows_conda_py3.9_smoke_test_conda
          python_version: '3.9'
          requires:
          - nightly_binary_windows_conda_py3.9_upload
Mingbo Wan's avatar
Mingbo Wan committed
1540
1541
1542
1543
1544
1545
1546
1547
1548
  docker_build:
    triggers:
      - schedule:
          cron: "0 10 * * 0"
          filters:
            branches:
              only:
                - master
    jobs:
moto's avatar
moto committed
1549
      - smoke_test_docker_image_build