Skip to content

Conversation

@wangzelin007
Copy link
Member

@wangzelin007 wangzelin007 commented Mar 10, 2025

  • Update azure pipelines to use ubuntu-latest as ubuntu-20.04 will be removed on 2025-04-01.
    image

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature


This checklist is used to make sure that common guidelines for a pull request are followed.

@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Mar 10, 2025

❌AzureCLI-FullTest
️✔️acr
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
️✔️latest
️✔️3.12
️✔️3.9
🔄acs
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9
️✔️advisor
️✔️latest
️✔️3.12
️✔️3.9
️✔️ams
️✔️latest
️✔️3.12
️✔️3.9
🔄apim
🔄latest
️✔️3.12
🔄3.9
🔄appconfig
🔄latest
🔄3.12
🔄3.9
️✔️appservice
️✔️latest
️✔️3.12
️✔️3.9
🔄aro
🔄latest
🔄3.12
🔄3.9
🔄backup
🔄latest
️✔️3.12
🔄3.9
🔄batch
🔄latest
🔄3.12
🔄3.9
️✔️batchai
️✔️latest
️✔️3.12
️✔️3.9
️✔️billing
️✔️latest
️✔️3.12
️✔️3.9
️✔️botservice
️✔️latest
️✔️3.12
️✔️3.9
️✔️cdn
️✔️latest
️✔️3.12
️✔️3.9
🔄cloud
🔄latest
🔄3.12
🔄3.9
🔄cognitiveservices
🔄latest
🔄3.12
🔄3.9
️✔️compute_recommender
️✔️latest
️✔️3.12
️✔️3.9
️✔️computefleet
️✔️latest
️✔️3.12
️✔️3.9
️✔️config
️✔️latest
️✔️3.12
️✔️3.9
️✔️configure
️✔️latest
️✔️3.12
️✔️3.9
🔄consumption
🔄latest
🔄3.12
🔄3.9
🔄container
🔄latest
️✔️3.12
🔄3.9
️✔️containerapp
️✔️latest
️✔️3.12
️✔️3.9
❌core
❌2018-03-01-hybrid
❌3.12
Type Test Case Error Message Line
Failed test_detect_credential_for_string self = <azure.cli.core.tests.test_credential_helper.TestCredentialHelper testMethod=test_detect_credential_for_string>

    def test_detect_credential_for_string(self):
        with mock.patch('azure.cli.core.credential_helper.get_secret_masker', side_effect=self.get_test_secret_masker):
            creation_time = '2024-03-07T02:50:56.464790+00:00'
>           containing_credential, 
 = distinguish_credential(creation_time)

src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:37: 
                                        
src/azure-cli-core/azure/cli/core/credential_helper.py:83: in distinguish_credential
    detections = is_containing_credential(content)
src/azure-cli-core/azure/cli/core/credential_helper.py:44: in is_containing_credential
    return get_secret_masker().detect_secrets(content)
env/lib/python3.12/site-packages/microsoft_security_utilities_secret_masker/secret_masker.py:99: in detect_secrets
    detections.extend(regex_pattern.get_detections(input, self.generate_sha256_hashes))
env/lib/python3.12/site-packages/microsoft_security_utilities_secret_masker/regex_pattern.py:126: in get_detections
    for m in re.finditer(self.pattern, input, self.regex_flags):
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/init.py:224: in finditer
    return compile(pattern, flags).finditer(string)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/init.py:307: in compile
    p = compiler.compile(pattern, flags)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/compiler.py:750: in compile
    p = parser.parse(p, flags)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/parser.py:979: in parse
    p = parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/parser.py:460: in parse_sub
    itemsappend(parse(source, state, verbose, nested + 1,
 
 
 
 
 
 
 
 
 
 
 
                             

source = <re._parser.Tokenizer object at 0x7f3484e27ad0>
state = <re._parser.State object at 0x7f3484e27b00>, verbose = 0, nested = 1
first = True

    def _parse(source, state, verbose, nested, first=False):
        # parse a simple pattern
        subpattern = SubPattern(state)
    
        # precompute constants into local variables
        subpatternappend = subpattern.append
        sourceget = source.get
        sourcematch = source.match
        _len = len
        _ord = ord
    
        while True:
    
            this = source.next
            if this is None:
                break # end of pattern
            if this in "
)":
                break # end of subpattern
            sourceget()
    
            if verbose:
                # skip whitespace and comments
                if this in WHITESPACE:
                    continue
                if this == "#":
                    while True:
                        this = sourceget()
                        if this is None or this == "\n":
                            break
                    continue
    
            if this[0] == "\":
                code = _escape(source, this, state)
                subpatternappend(code)
    
            elif this not in SPECIAL_CHARS:
                subpatternappend((LITERAL, _ord(this)))
    
            elif this == "[":
                here = source.tell() - 1
                # character set
                set = []
                setappend = set.append
    ##          if sourcematch(":"):
    ##              pass # handle character classes
                if source.next == '[':
                    import warnings
                    warnings.warn(
                        'Possible nested set at position %d' % source.tell(),
                        FutureWarning, stacklevel=nested + 6
                    )
                negate = sourcematch("^")
                # check remaining characters
                while True:
                    this = sourceget()
                    if this is None:
                        raise source.error("unterminated character set",
                                           source.tell() - here)
                    if this == "]" and set:
                        break
                    elif this[0] == "\":
                        code1 = _class_escape(source, this)
                    else:
                        if set and this in '-&~
Failed test_redact_credential_for_json The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:57
Failed test_redact_credential_for_string The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:43
❌3.9
Type Test Case Error Message Line
Failed test_detect_credential_for_string self = <azure.cli.core.tests.test_credential_helper.TestCredentialHelper testMethod=test_detect_credential_for_string>

    def test_detect_credential_for_string(self):
        with mock.patch('azure.cli.core.credential_helper.get_secret_masker', side_effect=self.get_test_secret_masker):
            creation_time = '2024-03-07T02:50:56.464790+00:00'
>           containing_credential, 
 = distinguish_credential(creation_time)

src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:37: 
                                        
src/azure-cli-core/azure/cli/core/credential_helper.py:83: in distinguish_credential
    detections = is_containing_credential(content)
src/azure-cli-core/azure/cli/core/credential_helper.py:44: in is_containing_credential
    return get_secret_masker().detect_secrets(content)
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/secret_masker.py:99: in detect_secrets
    detections.extend(regex_pattern.get_detections(input, self.generate_sha256_hashes))
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/regex_pattern.py:126: in get_detections
    for m in re.finditer(self.pattern, input, self.regex_flags):
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:248: in finditer
    return compile(pattern, flags).finditer(string)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:304: in compile
    p = sre_compile.compile(pattern, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_compile.py:788: in compile
    p = sre_parse.parse(p, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:955: in parse
    p = parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:444: in parse_sub
    itemsappend(parse(source, state, verbose, nested + 1,
 
 
 
 
 
 
                                 _ 

source = <sre_parse.Tokenizer object at 0x7fd9796c5f40>
state = <sre_parse.State object at 0x7fd9796c5fa0>, verbose = 0, nested = 1
first = True

    def _parse(source, state, verbose, nested, first=False):
        # parse a simple pattern
        subpattern = SubPattern(state)
    
        # precompute constants into local variables
        subpatternappend = subpattern.append
        sourceget = source.get
        sourcematch = source.match
        _len = len
        _ord = ord
    
        while True:
    
            this = source.next
            if this is None:
                break # end of pattern
            if this in "
)":
                break # end of subpattern
            sourceget()
    
            if verbose:
                # skip whitespace and comments
                if this in WHITESPACE:
                    continue
                if this == "#":
                    while True:
                        this = sourceget()
                        if this is None or this == "\n":
                            break
                    continue
    
            if this[0] == "\":
                code = _escape(source, this, state)
                subpatternappend(code)
    
            elif this not in SPECIAL_CHARS:
                subpatternappend((LITERAL, _ord(this)))
    
            elif this == "[":
                here = source.tell() - 1
                # character set
                set = []
                setappend = set.append
    ##          if sourcematch(":"):
    ##              pass # handle character classes
                if source.next == '[':
                    import warnings
                    warnings.warn(
                        'Possible nested set at position %d' % source.tell(),
                        FutureWarning, stacklevel=nested + 6
                    )
                negate = sourcematch("^")
                # check remaining characters
                while True:
                    this = sourceget()
                    if this is None:
                        raise source.error("unterminated character set",
                                           source.tell() - here)
                    if this == "]" and set:
                        break
                    elif this[0] == "\":
                        code1 = _class_escape(source, this)
                    else:
                        if set and this in '-&~
Failed test_redact_credential_for_json The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:57
Failed test_redact_credential_for_string The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:43
❌2019-03-01-hybrid
❌3.9
Type Test Case Error Message Line
Failed test_detect_credential_for_string self = <azure.cli.core.tests.test_credential_helper.TestCredentialHelper testMethod=test_detect_credential_for_string>

    def test_detect_credential_for_string(self):
        with mock.patch('azure.cli.core.credential_helper.get_secret_masker', side_effect=self.get_test_secret_masker):
            creation_time = '2024-03-07T02:50:56.464790+00:00'
>           containing_credential, 
 = distinguish_credential(creation_time)

src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:37: 
                                        
src/azure-cli-core/azure/cli/core/credential_helper.py:83: in distinguish_credential
    detections = is_containing_credential(content)
src/azure-cli-core/azure/cli/core/credential_helper.py:44: in is_containing_credential
    return get_secret_masker().detect_secrets(content)
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/secret_masker.py:99: in detect_secrets
    detections.extend(regex_pattern.get_detections(input, self.generate_sha256_hashes))
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/regex_pattern.py:126: in get_detections
    for m in re.finditer(self.pattern, input, self.regex_flags):
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:248: in finditer
    return compile(pattern, flags).finditer(string)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:304: in compile
    p = sre_compile.compile(pattern, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_compile.py:788: in compile
    p = sre_parse.parse(p, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:955: in parse
    p = parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:444: in parse_sub
    itemsappend(parse(source, state, verbose, nested + 1,
 
 
 
 
 
 
                                 _ 

source = <sre_parse.Tokenizer object at 0x7ff5bb141310>
state = <sre_parse.State object at 0x7ff5bb141370>, verbose = 0, nested = 1
first = True

    def _parse(source, state, verbose, nested, first=False):
        # parse a simple pattern
        subpattern = SubPattern(state)
    
        # precompute constants into local variables
        subpatternappend = subpattern.append
        sourceget = source.get
        sourcematch = source.match
        _len = len
        _ord = ord
    
        while True:
    
            this = source.next
            if this is None:
                break # end of pattern
            if this in "
)":
                break # end of subpattern
            sourceget()
    
            if verbose:
                # skip whitespace and comments
                if this in WHITESPACE:
                    continue
                if this == "#":
                    while True:
                        this = sourceget()
                        if this is None or this == "\n":
                            break
                    continue
    
            if this[0] == "\":
                code = _escape(source, this, state)
                subpatternappend(code)
    
            elif this not in SPECIAL_CHARS:
                subpatternappend((LITERAL, _ord(this)))
    
            elif this == "[":
                here = source.tell() - 1
                # character set
                set = []
                setappend = set.append
    ##          if sourcematch(":"):
    ##              pass # handle character classes
                if source.next == '[':
                    import warnings
                    warnings.warn(
                        'Possible nested set at position %d' % source.tell(),
                        FutureWarning, stacklevel=nested + 6
                    )
                negate = sourcematch("^")
                # check remaining characters
                while True:
                    this = sourceget()
                    if this is None:
                        raise source.error("unterminated character set",
                                           source.tell() - here)
                    if this == "]" and set:
                        break
                    elif this[0] == "\":
                        code1 = _class_escape(source, this)
                    else:
                        if set and this in '-&~
Failed test_redact_credential_for_json The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:57
Failed test_redact_credential_for_string The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:43
❌2020-09-01-hybrid
❌3.12
Type Test Case Error Message Line
Failed test_detect_credential_for_string self = <azure.cli.core.tests.test_credential_helper.TestCredentialHelper testMethod=test_detect_credential_for_string>

    def test_detect_credential_for_string(self):
        with mock.patch('azure.cli.core.credential_helper.get_secret_masker', side_effect=self.get_test_secret_masker):
            creation_time = '2024-03-07T02:50:56.464790+00:00'
>           containing_credential, 
 = distinguish_credential(creation_time)

src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:37: 
                                        
src/azure-cli-core/azure/cli/core/credential_helper.py:83: in distinguish_credential
    detections = is_containing_credential(content)
src/azure-cli-core/azure/cli/core/credential_helper.py:44: in is_containing_credential
    return get_secret_masker().detect_secrets(content)
env/lib/python3.12/site-packages/microsoft_security_utilities_secret_masker/secret_masker.py:99: in detect_secrets
    detections.extend(regex_pattern.get_detections(input, self.generate_sha256_hashes))
env/lib/python3.12/site-packages/microsoft_security_utilities_secret_masker/regex_pattern.py:126: in get_detections
    for m in re.finditer(self.pattern, input, self.regex_flags):
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/init.py:224: in finditer
    return compile(pattern, flags).finditer(string)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/init.py:307: in compile
    p = compiler.compile(pattern, flags)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/compiler.py:750: in compile
    p = parser.parse(p, flags)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/parser.py:979: in parse
    p = parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
/opt/hostedtoolcache/Python/3.12.9/x64/lib/python3.12/re/parser.py:460: in parse_sub
    itemsappend(parse(source, state, verbose, nested + 1,
 
 
 
 
 
 
 
 
 
 
 
                             

source = <re._parser.Tokenizer object at 0x7f8a8512d790>
state = <re._parser.State object at 0x7f8a817a9430>, verbose = 0, nested = 1
first = True

    def _parse(source, state, verbose, nested, first=False):
        # parse a simple pattern
        subpattern = SubPattern(state)
    
        # precompute constants into local variables
        subpatternappend = subpattern.append
        sourceget = source.get
        sourcematch = source.match
        _len = len
        _ord = ord
    
        while True:
    
            this = source.next
            if this is None:
                break # end of pattern
            if this in "
)":
                break # end of subpattern
            sourceget()
    
            if verbose:
                # skip whitespace and comments
                if this in WHITESPACE:
                    continue
                if this == "#":
                    while True:
                        this = sourceget()
                        if this is None or this == "\n":
                            break
                    continue
    
            if this[0] == "\":
                code = _escape(source, this, state)
                subpatternappend(code)
    
            elif this not in SPECIAL_CHARS:
                subpatternappend((LITERAL, _ord(this)))
    
            elif this == "[":
                here = source.tell() - 1
                # character set
                set = []
                setappend = set.append
    ##          if sourcematch(":"):
    ##              pass # handle character classes
                if source.next == '[':
                    import warnings
                    warnings.warn(
                        'Possible nested set at position %d' % source.tell(),
                        FutureWarning, stacklevel=nested + 6
                    )
                negate = sourcematch("^")
                # check remaining characters
                while True:
                    this = sourceget()
                    if this is None:
                        raise source.error("unterminated character set",
                                           source.tell() - here)
                    if this == "]" and set:
                        break
                    elif this[0] == "\":
                        code1 = _class_escape(source, this)
                    else:
                        if set and this in '-&~
Failed test_redact_credential_for_json The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:57
Failed test_redact_credential_for_string The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:43
❌3.9
Type Test Case Error Message Line
Failed test_detect_credential_for_string self = <azure.cli.core.tests.test_credential_helper.TestCredentialHelper testMethod=test_detect_credential_for_string>

    def test_detect_credential_for_string(self):
        with mock.patch('azure.cli.core.credential_helper.get_secret_masker', side_effect=self.get_test_secret_masker):
            creation_time = '2024-03-07T02:50:56.464790+00:00'
>           containing_credential, 
 = distinguish_credential(creation_time)

src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:37: 
                                        
src/azure-cli-core/azure/cli/core/credential_helper.py:83: in distinguish_credential
    detections = is_containing_credential(content)
src/azure-cli-core/azure/cli/core/credential_helper.py:44: in is_containing_credential
    return get_secret_masker().detect_secrets(content)
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/secret_masker.py:99: in detect_secrets
    detections.extend(regex_pattern.get_detections(input, self.generate_sha256_hashes))
env/lib/python3.9/site-packages/microsoft_security_utilities_secret_masker/regex_pattern.py:126: in get_detections
    for m in re.finditer(self.pattern, input, self.regex_flags):
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:248: in finditer
    return compile(pattern, flags).finditer(string)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/re.py:304: in compile
    p = sre_compile.compile(pattern, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_compile.py:788: in compile
    p = sre_parse.parse(p, flags)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:955: in parse
    p = parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
/opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/sre_parse.py:444: in parse_sub
    itemsappend(parse(source, state, verbose, nested + 1,
 
 
 
 
 
 
                                 _ 

source = <sre_parse.Tokenizer object at 0x7ffb4de3c2e0>
state = <sre_parse.State object at 0x7ffb4de3c340>, verbose = 0, nested = 1
first = True

    def _parse(source, state, verbose, nested, first=False):
        # parse a simple pattern
        subpattern = SubPattern(state)
    
        # precompute constants into local variables
        subpatternappend = subpattern.append
        sourceget = source.get
        sourcematch = source.match
        _len = len
        _ord = ord
    
        while True:
    
            this = source.next
            if this is None:
                break # end of pattern
            if this in "
)":
                break # end of subpattern
            sourceget()
    
            if verbose:
                # skip whitespace and comments
                if this in WHITESPACE:
                    continue
                if this == "#":
                    while True:
                        this = sourceget()
                        if this is None or this == "\n":
                            break
                    continue
    
            if this[0] == "\":
                code = _escape(source, this, state)
                subpatternappend(code)
    
            elif this not in SPECIAL_CHARS:
                subpatternappend((LITERAL, _ord(this)))
    
            elif this == "[":
                here = source.tell() - 1
                # character set
                set = []
                setappend = set.append
    ##          if sourcematch(":"):
    ##              pass # handle character classes
                if source.next == '[':
                    import warnings
                    warnings.warn(
                        'Possible nested set at position %d' % source.tell(),
                        FutureWarning, stacklevel=nested + 6
                    )
                negate = sourcematch("^")
                # check remaining characters
                while True:
                    this = sourceget()
                    if this is None:
                        raise source.error("unterminated character set",
                                           source.tell() - here)
                    if this == "]" and set:
                        break
                    elif this[0] == "\":
                        code1 = _class_escape(source, this)
                    else:
                        if set and this in '-&~
Failed test_redact_credential_for_json The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:57
Failed test_redact_credential_for_string The error message is too long, please check the pipeline log for details. src/azure-cli-core/azure/cli/core/tests/test_credential_helper.py:43
🔄latest
🔄3.12
🔄3.9
🔄cosmosdb
🔄latest
🔄3.12
🔄3.9
️✔️databoxedge
️✔️2019-03-01-hybrid
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
️✔️latest
️✔️3.12
️✔️3.9
️✔️dls
️✔️latest
️✔️3.12
️✔️3.9
🔄dms
🔄latest
🔄3.12
🔄3.9
️✔️eventgrid
️✔️latest
️✔️3.12
️✔️3.9
🔄eventhubs
🔄latest
🔄3.12
🔄3.9
🔄feedback
🔄latest
️✔️3.12
🔄3.9
️✔️find
️✔️latest
️✔️3.12
️✔️3.9
🔄hdinsight
🔄latest
🔄3.12
🔄3.9
🔄identity
🔄latest
️✔️3.12
🔄3.9
🔄iot
️✔️2019-03-01-hybrid
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9
🔄keyvault
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9
️✔️lab
️✔️latest
️✔️3.12
️✔️3.9
🔄managedservices
🔄latest
🔄3.12
🔄3.9
🔄maps
🔄latest
🔄3.12
🔄3.9
️✔️marketplaceordering
️✔️latest
️✔️3.12
️✔️3.9
️✔️monitor
️✔️latest
️✔️3.12
️✔️3.9
🔄mysql
🔄latest
️✔️3.12
🔄3.9
🔄netappfiles
🔄latest
️✔️3.12
🔄3.9
️✔️network
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️latest
️✔️3.12
️✔️3.9
️✔️policyinsights
️✔️latest
️✔️3.12
️✔️3.9
🔄privatedns
🔄latest
🔄3.12
🔄3.9
🔄profile
🔄latest
🔄3.12
🔄3.9
🔄rdbms
🔄latest
️✔️3.12
🔄3.9
️✔️redis
️✔️latest
️✔️3.12
️✔️3.9
🔄relay
🔄latest
️✔️3.12
🔄3.9
️✔️resource
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️2019-03-01-hybrid
️✔️3.9
️✔️latest
️✔️3.12
️✔️3.9
️✔️role
️✔️latest
️✔️3.12
️✔️3.9
️✔️search
️✔️latest
️✔️3.12
️✔️3.9
️✔️security
️✔️latest
️✔️3.12
️✔️3.9
🔄servicebus
🔄latest
🔄3.12
🔄3.9
️✔️serviceconnector
️✔️latest
️✔️3.12
️✔️3.9
️✔️servicefabric
️✔️latest
️✔️3.12
️✔️3.9
️✔️signalr
️✔️latest
️✔️3.12
️✔️3.9
🔄sql
🔄latest
🔄3.12
🔄3.9
️✔️sqlvm
️✔️latest
️✔️3.12
️✔️3.9
🔄storage
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️2019-03-01-hybrid
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9
🔄synapse
🔄latest
🔄3.12
🔄3.9
🔄telemetry
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️2019-03-01-hybrid
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9
️✔️util
️✔️latest
️✔️3.12
️✔️3.9
🔄vm
️✔️2018-03-01-hybrid
️✔️3.12
️✔️3.9
️✔️2019-03-01-hybrid
️✔️3.9
️✔️2020-09-01-hybrid
️✔️3.12
️✔️3.9
🔄latest
🔄3.12
🔄3.9

@azure-client-tools-bot-prd
Copy link

azure-client-tools-bot-prd bot commented Mar 10, 2025

️✔️AzureCLI-BreakingChangeTest
️✔️Non Breaking Changes

@yonzhan
Copy link
Collaborator

yonzhan commented Mar 10, 2025

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

variables:
ubuntu_pool: 'pool-ubuntu-2004'
ubuntu_multi_core_pool: 'pool-ubuntu-2004-multi-core'
ubuntu_pool: 'pool-ubuntu-2204'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason for not using pool-ubuntu-latest is that Azure PowerShell team has already created pool-ubuntu-2204.

- name: AMD64
value: amd64
pool: pool-ubuntu-2004-multi-core
pool: pool-ubuntu-latest-multi-core
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this file be changed to use .azure-pipelines/templates/variables.yml?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resloved in the new PR: #30996

@wangzelin007 wangzelin007 deleted the wzl/drop-ubuntu-2004-2 branch March 12, 2025 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Auto-Assign Auto assign by bot CI CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants