Unverified Commit 80beca52 authored by J-shang's avatar J-shang Committed by GitHub
Browse files

[Pipeline] filter trigger (#4876)

parent 173d49e5
### Description ###
#### Test Options ####
- [ ] fast test
- [ ] full test - HPO
- [ ] full test - NAS
- [ ] full test - compression
### Checklist ###
- [ ] test case
......
trigger: none
resources:
repositories:
- repository: azpfilter
type: github
name: microsoft/azure-pipeline-filter
endpoint: github-filter-connection
variables:
filter.modified.globs: '!.github/**,!docs/**,!examples/**'
filter.prbody.heading: '#### Test Options'
filter.prbody.optionIndex: 0
stages:
- stage: lint
jobs:
......@@ -103,10 +115,20 @@ stages:
yarn --cwd ts/webui sanity-check
displayName: Sanity check (WebUI)
- stage: filter
jobs:
- job: check
pool:
vmImage: ubuntu-latest
steps:
- template: templates/stage-filter.yml
# To reduce debug cost, steps are sorted differently on each platform,
# so that a bug in any module will cause at least one platform to fail quickly.
- stage: test
dependsOn: lint
# dependencies.$(StageName).outputs['$(JobName).$(TaskName).$(VariableName)']
condition: and(succeeded(), ne(dependencies.filter.outputs['check.execution.skipsubsequent'], 'true'))
jobs:
- job: ubuntu_latest
pool:
......
trigger: none
pr: none
# schedules:
# - cron: 0 16 * * *
# branches:
# include: [ master ]
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
resources:
repositories:
- repository: azpfilter
type: github
name: microsoft/azure-pipeline-filter
endpoint: github-filter-connection
variables:
filter.modified.globs: 'examples/model_compress/**,nni/algorithms/compression/**,nni/compression/**'
filter.prbody.heading: '#### Test Options'
filter.prbody.optionIndex: 3
stages:
- stage: filter
jobs:
- job: check
pool:
vmImage: ubuntu-latest
steps:
- template: templates/stage-filter.yml
- stage: test
# dependencies.$(StageName).outputs['$(JobName).$(TaskName).$(VariableName)']
condition: and(succeeded(), ne(dependencies.filter.outputs['check.execution.skipsubsequent'], 'true'))
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
- template: templates/install-nni.yml
- template: templates/install-nni.yml
- template: templates/download-test-data.yml
- template: templates/download-test-data.yml
- script: |
cd test
source scripts/model_compression.sh
displayName: Model compression test
- script: |
cd test
source scripts/model_compression.sh
displayName: Model compression test
trigger: none
pr: none
# schedules:
# - cron: 0 16 * * *
# branches:
# include: [ master ]
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
- template: templates/install-nni.yml
- template: templates/install-customized-tuner.yml
- script: |
set -e
(cd test && python -m pytest ut)
export PATH=$PATH:$PWD/toolchain/yarn/bin
export CI=true
(cd ts/nni_manager && yarn test)
displayName: SDK unit test
# TODO: this should be replaced with a dedicated HPO algo test suite
- script: |
cd test
python training_service/nnitest/run_tests.py --config training_service/config/integration_tests.yml --ts local
displayName: Integration test
# TODO: should add a test on platforms other than linux
resources:
repositories:
- repository: azpfilter
type: github
name: microsoft/azure-pipeline-filter
endpoint: github-filter-connection
variables:
filter.modified.globs: 'examples/tuners/**,nni/algorithms/hpo/**'
filter.prbody.heading: '#### Test Options'
filter.prbody.optionIndex: 1
stages:
- stage: filter
jobs:
- job: check
pool:
vmImage: ubuntu-latest
steps:
- template: templates/stage-filter.yml
- stage: test
# dependencies.$(StageName).outputs['$(JobName).$(TaskName).$(VariableName)']
condition: and(succeeded(), ne(dependencies.filter.outputs['check.execution.skipsubsequent'], 'true'))
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
- template: templates/install-nni.yml
- template: templates/install-customized-tuner.yml
- script: |
set -e
(cd test && python -m pytest ut)
export PATH=$PATH:$PWD/toolchain/yarn/bin
export CI=true
(cd ts/nni_manager && yarn test)
displayName: SDK unit test
# TODO: this should be replaced with a dedicated HPO algo test suite
- script: |
cd test
python training_service/nnitest/run_tests.py --config training_service/config/integration_tests.yml --ts local
displayName: Integration test
# TODO: should add a test on platforms other than linux
trigger: none
pr: none
schedules:
- cron: 0 16 * * *
branches:
include: [ master ]
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
resources:
repositories:
- repository: azpfilter
type: github
name: microsoft/azure-pipeline-filter
endpoint: github-filter-connection
variables:
filter.modified.globs: 'examples/nas/**,nni/algorithms/nas/**,nni/nas/**,nni/retiarii/**'
filter.prbody.heading: '#### Test Options'
filter.prbody.optionIndex: 2
stages:
- stage: filter
jobs:
- job: check
pool:
vmImage: ubuntu-latest
steps:
- template: templates/stage-filter.yml
- stage: test
# dependencies.$(StageName).outputs['$(JobName).$(TaskName).$(VariableName)']
condition: and(succeeded(), ne(dependencies.filter.outputs['check.execution.skipsubsequent'], 'true'))
jobs:
- job: linux
pool: nni-it
timeoutInMinutes: 60
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
steps:
- template: templates/install-dependencies.yml
parameters:
platform: ubuntu-latest-gpu
python_env: venv
- template: templates/install-nni.yml
- template: templates/install-nni.yml
- script: |
cd test
source scripts/nas.sh
displayName: NAS test
- script: |
cd test
source scripts/nas.sh
displayName: NAS test
steps:
- checkout: azpfilter
persistCredentials: true
- task: NodeTool@0
inputs:
versionSpec: '16.x'
- script: npm ci
displayName: NPM Install
- script: node src/main.mjs
name: execution
displayName: Execution
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment