Skip to content
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

fix false broken link with code fence #30979

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open

Conversation

cephalin
Copy link

@cephalin cephalin commented Mar 7, 2025

Related command

Description
This doc https://learn.microsoft.com/en-us/cli/azure/webapp/deployment/source contains a dummy link https://github.com/foo/foo-web that shouldn't be a live link, and is falsely showing up in our broken link report.

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.

Copy link

azure-client-tools-bot-prd bot commented Mar 7, 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 0x7f65f6c354c0>
state = <re._parser.State object at 0x7f65f59865a0>, 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 0x7f8b62739040>
state = <sre_parse.State object at 0x7f8b627390a0>, 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 0x7f1dfe242370>
state = <sre_parse.State object at 0x7f1dfe2423d0>, 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 0x7f9538dc9790>
state = <re._parser.State object at 0x7f9538dc9700>, 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 0x7fceb2907340>
state = <sre_parse.State object at 0x7fceb29073a0>, 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

Copy link

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

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

Copy link

github-actions bot commented Mar 7, 2025

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>

@yonzhan
Copy link
Collaborator

yonzhan commented Mar 7, 2025

appservice

@cephalin
Copy link
Author

cephalin commented Mar 7, 2025

@seligj95 could you help review this PR?

@zhoxing-ms
Copy link
Contributor

/azp run

Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@cephalin
Copy link
Author

@zhoxing-ms thanks for approving. how do I get past the failed checks?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants