Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CI Adds quicker CI failure to reduce resource usage #21497

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 47 commits into from
Dec 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
45d45ac
MNT Test pipelines [azure all-parallel]
thomasjpfan Oct 29, 2021
d2037f2
Trigger CI to see the graph running live
ogrisel Oct 29, 2021
9aa83f9
ENH Try disjunction
thomasjpfan Oct 29, 2021
c4286a4
ENH Try disjunction
thomasjpfan Oct 29, 2021
46c52a7
ENH Try disjunction
thomasjpfan Oct 29, 2021
9bb2e96
ENH Try disjunction
thomasjpfan Oct 29, 2021
83c72d4
ENH Try disjunction
thomasjpfan Oct 29, 2021
5a3854e
ENH Try disjunction
thomasjpfan Oct 29, 2021
4136aa5
ENH Try disjunction
thomasjpfan Oct 29, 2021
b3e05fd
MNT Test pipelines [azure all-parallel]
thomasjpfan Oct 29, 2021
00f3b0c
MNT Test pipelines [azure all-parallel]
thomasjpfan Oct 29, 2021
1f0d299
CLN Fix error
thomasjpfan Oct 29, 2021
adc1cbf
CLN Fix error
thomasjpfan Oct 29, 2021
1ffd213
CLN Fix error
thomasjpfan Oct 29, 2021
7efb373
CLN Fix error
thomasjpfan Oct 29, 2021
f3f95dd
CLN Fix error
thomasjpfan Oct 29, 2021
3992898
CLN Fix error
thomasjpfan Oct 29, 2021
d8d2e1f
CLN Fix error
thomasjpfan Oct 29, 2021
89c11a4
CLN Fix error
thomasjpfan Oct 29, 2021
a686f33
CLN Fix error
thomasjpfan Oct 29, 2021
92ed936
CLN Fix error
thomasjpfan Oct 29, 2021
a4b5c07
CLN Fix error
thomasjpfan Oct 29, 2021
8e8fdea
CLN Fix error
thomasjpfan Oct 29, 2021
075a646
CLN Fix error
thomasjpfan Oct 29, 2021
e2f684f
CLN Fix error
thomasjpfan Oct 29, 2021
b4b5f38
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
996863b
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
495a89d
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
5ca1e4a
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
59b891d
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
0245c31
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
f484cfc
CLN Use nested templates [azure all-parallel]
thomasjpfan Oct 29, 2021
f6c1bb3
DOC Adds more comments
thomasjpfan Oct 29, 2021
c1f3dd7
Merge remote-tracking branch 'upstream/main' into ci_failing_faster
thomasjpfan Dec 14, 2021
d56716a
DOC Adds marker to for azure parlllel
thomasjpfan Dec 14, 2021
a022634
Merge remote-tracking branch 'upstream/main' into ci_failing_faster
thomasjpfan Feb 12, 2022
c2e638e
CLN Change build tag name
thomasjpfan Feb 12, 2022
62bcc17
DOC Better yaml comment
thomasjpfan Feb 12, 2022
cc7dc5c
Merge remote-tracking branch 'upstream/main' into ci_failing_faster
thomasjpfan Apr 17, 2022
bc82f43
Merge remote-tracking branch 'upstream/main' into ci_failing_faster
thomasjpfan Jul 25, 2022
0ad4589
Apply suggestions from code review
thomasjpfan Dec 3, 2022
5b9bda5
Merge remote-tracking branch 'upstream/main' into ci_failing_faster
thomasjpfan Dec 3, 2022
02b6062
CLN Spelling issue
thomasjpfan Dec 3, 2022
598a669
DOC Update docstring for CI
thomasjpfan Dec 3, 2022
8568165
DOC Adds yaml key [azure parallel]
thomasjpfan Dec 3, 2022
b434227
CI Fixes dependsOn [azure parallel]
thomasjpfan Dec 3, 2022
39dd70d
CI Trigger default
thomasjpfan Dec 3, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,12 @@ jobs:
SKLEARN_TESTS_GLOBAL_RANDOM_SEED: '42' # default global random seed

# Check compilation with Ubuntu 22.04 LTS (Jammy Jellyfish) and scipy from conda-forge
- template: build_tools/azure/posix.yml
# By default the CI is sequential, where `Ubuntu_Jammy_Jellyfish` runs first and
# the others jobs are run only if `Ubuntu_Jammy_Jellyfish` succeeds.
# When "[azure parallel]" is in the commit message, `Ubuntu_Jammy_Jellyfish` will
# run in parallel with the rest of the jobs. On Azure, the job's name will be
# `Ubuntu_Jammy_Jellyfish_Parallel`.
- template: build_tools/azure/posix-all-parallel.yml
parameters:
name: Ubuntu_Jammy_Jellyfish
vmImage: ubuntu-22.04
Expand All @@ -156,6 +161,7 @@ jobs:
succeeded(),
not(contains(dependencies['git_commit']['outputs']['commit.message'], '[ci skip]'))
)
commitMessage: dependencies['git_commit']['outputs']['commit.message']
matrix:
py38_conda_forge_openblas_ubuntu_2204:
DISTRIB: 'conda'
Expand All @@ -167,10 +173,10 @@ jobs:
parameters:
name: Linux
vmImage: ubuntu-20.04
dependsOn: [linting, git_commit]
dependsOn: [linting, git_commit, Ubuntu_Jammy_Jellyfish]
condition: |
and(
succeeded(),
in(dependencies['Ubuntu_Jammy_Jellyfish']['result'], 'Succeeded', 'Skipped'),
not(contains(dependencies['git_commit']['outputs']['commit.message'], '[ci skip]'))
)
matrix:
Expand Down Expand Up @@ -203,10 +209,10 @@ jobs:
parameters:
name: Linux_Docker
vmImage: ubuntu-20.04
dependsOn: [linting, git_commit]
dependsOn: [linting, git_commit, Ubuntu_Jammy_Jellyfish]
condition: |
and(
succeeded(),
in(dependencies['Ubuntu_Jammy_Jellyfish']['result'], 'Succeeded', 'Skipped'),
not(contains(dependencies['git_commit']['outputs']['commit.message'], '[ci skip]'))
)
matrix:
Expand All @@ -222,10 +228,10 @@ jobs:
parameters:
name: macOS
vmImage: macOS-11
dependsOn: [linting, git_commit]
dependsOn: [linting, git_commit, Ubuntu_Jammy_Jellyfish]
condition: |
and(
succeeded(),
in(dependencies['Ubuntu_Jammy_Jellyfish']['result'], 'Succeeded', 'Skipped'),
not(contains(dependencies['git_commit']['outputs']['commit.message'], '[ci skip]'))
)
matrix:
Expand All @@ -244,10 +250,10 @@ jobs:
parameters:
name: Windows
vmImage: windows-latest
dependsOn: [linting, git_commit]
dependsOn: [linting, git_commit, Ubuntu_Jammy_Jellyfish]
condition: |
and(
succeeded(),
in(dependencies['Ubuntu_Jammy_Jellyfish']['result'], 'Succeeded', 'Skipped'),
not(contains(dependencies['git_commit']['outputs']['commit.message'], '[ci skip]'))
)
matrix:
Expand Down
50 changes: 50 additions & 0 deletions build_tools/azure/posix-all-parallel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This configuration allows enables a job based on `posix.yml` to have two modes:
#
# 1. When `[azure parallel]` *is not* in the commit message, then this job will
# run first. If this job succeeds, then all dependent jobs can run.
# 2. When `[azure parallel]` *is* in the commit message, then this job will
# run with name `{{ parameters.name }}_Parallel` along with all other jobs.
#
# To enable this template, all dependent jobs should check if this job succeeded
# or skipped by using:
# dependsOn: in(dependencies[{{ parameters.name }}]['result'], 'Succeeded', 'Skipped')

parameters:
name: ''
vmImage: ''
matrix: []
dependsOn: []
condition: ''
commitMessage: ''

jobs:

# When [azure parallel] *is not* in the commit message, this job will run
# first.
- template: posix.yml
parameters:
name: ${{ parameters.name }}
vmImage: ${{ parameters.vmImage }}
matrix: ${{ parameters.matrix }}
dependsOn: ${{ parameters.dependsOn }}
condition: |
and(
${{ parameters.condition }},
not(contains(${{ parameters.commitMessage }}, '[azure parallel]'))
)

# When [azure parallel] *is* in the commit message, this job and dependent
# jobs will run in parallel. Implementation-wise, the job above is skipped and
# this job, named ${{ parameters.name }}_Parallel, will run in parallel with
# the other jobs.
- template: posix.yml
parameters:
name: ${{ parameters.name }}_Parallel
vmImage: ${{ parameters.vmImage }}
matrix: ${{ parameters.matrix }}
dependsOn: ${{ parameters.dependsOn }}
condition: |
and(
${{ parameters.condition }},
contains(${{ parameters.commitMessage }}, '[azure parallel]')
)
1 change: 1 addition & 0 deletions doc/developers/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,7 @@ message, the following actions are taken.
[scipy-dev] Build & test with our dependencies (numpy, scipy, etc ...) development builds
[nogil] Build & test with the nogil experimental branches of CPython, Cython, NumPy, SciPy...
[pypy] Build & test with PyPy
[azure parallel] Run Azure CI jobs in parallel
[float32] Run float32 tests by setting `SKLEARN_RUN_FLOAT32_TESTS=1`. See :ref:`environment_variable` for more details
[doc skip] Docs are not built
[doc quick] Docs built, but excludes example gallery plots
Expand Down