config.yml 47.4 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
429
430
431
432
      - 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
      - run:
          name: Post process
          command: .circleci/unittest/linux/scripts/post_process.sh
      - store_test_results:
          path: test-results

moto's avatar
moto committed
433
434
435
436
437
438
  unittest_linux_gpu:
    <<: *binary_common
    machine:
      image: ubuntu-1604-cuda-10.1:201909-23
    resource_class: gpu.small
    environment:
439
      <<: *environment
440
      image_name: pytorch/torchaudio_unittest_base:manylinux-cuda10.1-cudnn7-20210121
moto's avatar
moto committed
441
442
    steps:
      - checkout
443
444
      - attach_workspace:
          at: third_party
445
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
446
      - load_conda_channel_flags
447
448
449
      - run:
          name: Pull Docker image
          command: docker pull --quiet "${image_name}"
moto's avatar
moto committed
450
451
      - run:
          name: Setup
452
          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
453
454
      - run:
          name: Install torchaudio
Eli Uriegas's avatar
Eli Uriegas committed
455
          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
456
457
458
459
460
461
462
463
464
465
      - run:
          name: Run tests
          command: docker run -t --gpus all -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/run_test.sh
      - run:
          name: Post Process
          command: docker run -t --gpus all -v $PWD:$PWD -w $PWD "${image_name}" .circleci/unittest/linux/scripts/post_process.sh
      - store_test_results:
          path: test-results

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

488
489
490
491
492
  unittest_windows_gpu:
    <<: *binary_common
    executor:
      name: windows-gpu
    environment:
493
      <<: *environment
494
495
496
      CUDA_VERSION: "10.1"
    steps:
      - checkout
497
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
498
      - load_conda_channel_flags
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
      - 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
      - run:
          name: Post process
          command: .circleci/unittest/windows/scripts/post_process.sh
      - store_test_results:
          path: test-results

moto's avatar
moto committed
514
515
516
  unittest_macos_cpu:
    <<: *binary_common
    macos:
517
      xcode: "9.4.1"
moto's avatar
moto committed
518
519
520
521
    resource_class: large
    steps:
      - checkout
      - install_build_tools_macos
Eli Uriegas's avatar
Eli Uriegas committed
522
      - load_conda_channel_flags
moto's avatar
moto committed
523
524
      - attach_workspace:
          at: third_party
525
      - designate_upload_channel
moto's avatar
moto committed
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
      - 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
      - run:
          name: Post process
          command: .circleci/unittest/linux/scripts/post_process.sh
      - store_test_results:
          path: test-results

541
542
543
544
545
546
547
  stylecheck:
    <<: *binary_common
    docker:
      - image: "pytorch/torchaudio_unittest_base:manylinux"
    resource_class: medium
    steps:
      - checkout
548
      - designate_upload_channel
Eli Uriegas's avatar
Eli Uriegas committed
549
      - load_conda_channel_flags
550
551
552
553
554
555
556
      - 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

557
558
559
560
561
562
563
564
565
  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
566
      - load_conda_channel_flags
567
568
569
570
571
572
573
      - 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:
574
          root: ./
575
576
          paths:
            - "*"
577
578
579
      - store_artifacts:
          path: ./docs/build/html
          destination: docs
580
581
582
583
584
585
586
587
588

  upload_docs:
    <<: *binary_common
    docker:
      - image: "pytorch/manylinux-cuda100"
    resource_class: 2xlarge+
    steps:
      - attach_workspace:
          at: ~/workspace
589
590
591
592
593
594
595
596
597
598
      - 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
599
600
601
      - run:
          name: Upload docs
          command: |
602
603
            # Don't use "checkout" step since it uses ssh, which cannot git push
            # https://circleci.com/docs/2.0/configuration-reference/#checkout
604
605
606
            set -ex
            tag=${CIRCLE_TAG:1:5}
            target=${tag:-master}
Matti Picus's avatar
Matti Picus committed
607
            ~/workspace/.circleci/build_docs/commit_docs.sh ~/workspace $target
608

609
610
611
612
613
614
615
616
617
618
619
620
  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

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