Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
e6e454c
Add Custom model endpoint provider
paullizer Aug 12, 2026
171bb2a
Merge Development and resolve conflicts
paullizer Aug 12, 2026
88ea6a7
fix-logout-route - fixed logout 404 error in dev environment.
chadpalmer Aug 20, 2026
9658037
fix-logout-route - fixed merge conflict and updated version.
chadpalmer Aug 20, 2026
860faf0
Merge Development and fix Easy Auth logout detection at the root cause
paullizer Aug 20, 2026
929f5c6
Merge pull request #1337 from microsoft/Staging
paullizer Aug 21, 2026
8e7459b
Merge branch 'Development' into fix-logout-route
chadpalmer Aug 21, 2026
afc277c
Merge branch 'fix-logout-route'.
chadpalmer Aug 25, 2026
173fe9b
fix-logout-route - Bumped version and updated files/tests to hopefull…
chadpalmer Aug 25, 2026
5fc02f4
Merge branch 'fix-logout-route'
chadpalmer Aug 25, 2026
0e4b8c1
Merge pull request #1359 from microsoft/Staging
paullizer Aug 26, 2026
79f665c
fix-many-doc-upload-issue - Fixed issue where many small documents up…
chadpalmer Aug 26, 2026
45016f1
fix-many-doc-upload-issue - fixed merge conflict.
chadpalmer Aug 26, 2026
04ff3e2
fix-logout-route - Merged latest updates from Development and updated…
chadpalmer Aug 26, 2026
4759938
Update version to 0.261.002
chadpalmer Aug 26, 2026
118f559
Merge branch 'fix-logout-route' into fix-many-doc-upload-issue
chadpalmer Aug 26, 2026
0ef9f62
fix-many-doc-upload-issue - updated version and added release notes s…
chadpalmer Aug 26, 2026
6b8a10f
fix-many-doc-upload-issue - updated documentation to reflect that all…
chadpalmer Aug 26, 2026
3529ac2
fix-many-doc-upload-issue - updated upload/chunk logic so that the co…
chadpalmer Aug 27, 2026
65e5f6a
Merge pull request #1367 from microsoft/Staging
Bionic711 Aug 28, 2026
217ec51
fix-many-doc-upload-issue - added retry logic to retry document parsi…
chadpalmer Aug 28, 2026
a916efa
build(deps): bump snowflake-connector-python in /application/single_app
dependabot[bot] Aug 31, 2026
b315521
build(deps): bump the github-actions group across 1 directory with 8 …
dependabot[bot] Sep 1, 2026
c1f4e41
build(deps): bump pypdf from 6.15.0 to 6.16.1 in /application/single_app
dependabot[bot] Sep 2, 2026
710c5a1
Merge pull request #1375 from microsoft/Staging
paullizer Sep 2, 2026
1349744
fix-many-doc-upload-issue - updated gunicorn.conf.py file to increase…
chadpalmer Sep 2, 2026
59d8810
fix-many-doc-upload-issue - fixed merge conflict with Development bra…
chadpalmer Sep 2, 2026
093e495
Merge remote-tracking branch 'upstream/main' into fix-many-doc-upload…
chadpalmer Sep 2, 2026
81f3938
fix-many-doc-upload-issue - fixed version conflict from merge with main.
chadpalmer Sep 2, 2026
683585b
fix-many-doc-upload-issue - updated document function to have explici…
chadpalmer Sep 2, 2026
f18c667
Merge pull request #1387 from Xeelee33/fix-many-doc-upload-issue
paullizer Sep 3, 2026
5e16d0a
Fixed bug where files shared to personal and group workspaces didn't …
Xeelee33 Sep 3, 2026
0f730fb
Fixed build failures in Docker file related to ODBC and playwrite fil…
Xeelee33 Sep 3, 2026
8888586
Updates to release notes and fixes for the share file approval and do…
Xeelee33 Sep 3, 2026
88c9852
Normalized whitespaces and line endings in fix notes
Xeelee33 Sep 3, 2026
953d89b
Merge pull request #1338 from microsoft/dependabot/github_actions/git…
paullizer Sep 4, 2026
7f967f6
Merge pull request #1372 from microsoft/dependabot/pip/application/si…
paullizer Sep 4, 2026
d503f7a
Merge pull request #1369 from microsoft/dependabot/pip/application/si…
paullizer Sep 4, 2026
d5ef183
Merge pull request #1414 from Xeelee33/bugfix/workspace-share-approval
paullizer Sep 4, 2026
6650dd0
Stop advisory release-notes reminders from failing fork PRs
paullizer Sep 4, 2026
922d578
Merge remote-tracking branch 'origin/Development' into paullizer-pr-1…
paullizer Sep 4, 2026
08e1218
Merge remote-tracking branch 'origin/Development' into paullizer-pr-1…
paullizer Sep 4, 2026
150b749
Merge pull request #1423 from microsoft/fix/release-notes-check-fork-…
paullizer Sep 4, 2026
d419752
Align model endpoint tests with Development admin template panes and …
paullizer Sep 4, 2026
6905995
Merge remote-tracking branch 'origin/Development' into paullizer-pr-1…
paullizer Sep 4, 2026
24b9336
Merge pull request #1228 from microsoft/paullizer-custom-model-endpoints
paullizer Sep 4, 2026
303ce3a
Revert "Add Custom model endpoint provider"
paullizer Sep 4, 2026
4a29f67
Merge pull request #1431 from microsoft/revert-1228-paullizer-custom-…
paullizer Sep 4, 2026
0a359d6
Restore Custom model endpoint provider work for gap review
paullizer Sep 4, 2026
dd18f41
Resolve model capabilities from the catalog instead of the model name
paullizer Sep 4, 2026
88e5224
Make Custom endpoint API types a registry, and add Google Gemini
paullizer Sep 4, 2026
17e3862
Make Custom model endpoint failures diagnosable
paullizer Sep 4, 2026
3bbbfcd
Stop rewriting Custom endpoint URLs into 404s
paullizer Sep 4, 2026
934a557
Deliver completed responses as a real stream, not one blob
paullizer Sep 4, 2026
26c3344
Make on-premises Custom model endpoints usable
paullizer Sep 4, 2026
51178c3
Add bearer, OAuth2, and mTLS authentication to Custom endpoints
paullizer Sep 4, 2026
90ea1d6
Add Azure Managed Redis support alongside Azure Cache for Redis
paullizer Sep 4, 2026
87a40c7
Harden Redis connection test errors and deployer host name matching
paullizer Sep 4, 2026
5f66536
Sanitize Redis connection test logging and stop echoing exceptions
paullizer Sep 4, 2026
46fc8f6
Drop unreferenced Redis re-exports from app_settings_cache
paullizer Sep 4, 2026
3ef3c12
Log Redis test failures by exception type instead of message
paullizer Sep 4, 2026
523ca43
Remove unused Redis re-exports from app_settings_cache
paullizer Sep 5, 2026
a92fcac
Merge pull request #1438 from microsoft/paullizer-azure-managed-redis…
paullizer Sep 5, 2026
a41d80b
Add HTTP Basic authentication to the Yamcs action for proxied servers
paullizer Sep 4, 2026
cea31f1
Regenerate release notes index for v0.261.012
paullizer Sep 5, 2026
a20d08b
Address code scanning findings on the Custom endpoint work
paullizer Sep 5, 2026
aff0729
Merge origin/Development and renumber this branch above the Redis rel…
paullizer Sep 5, 2026
a65e82c
Potential fix for pull request finding 'CodeQL / Information exposure…
paullizer Sep 5, 2026
3ded21a
Merge pull request #1447 from microsoft/paullizer-yamcs-basic-auth
paullizer Sep 5, 2026
822eeeb
Merge origin/Development and renumber this branch above the Yamcs rel…
paullizer Sep 5, 2026
9962817
Merge pull request #1437 from microsoft/paullizer-custom-model-endpoi…
paullizer Sep 5, 2026
535556c
Add XSD ingestion and schema-driven XML generation
paullizer Sep 7, 2026
68c98cb
Fix incorrect Microsoft Graph permission GUIDs in Entra app registration
paullizer Sep 7, 2026
385a677
Merge pull request #1459 from paullizer/fix/entra-graph-permission-guids
paullizer Sep 7, 2026
7068182
Merge Development into XSD support branch
paullizer Sep 7, 2026
cf20679
Harden XSD upload error responses
paullizer Sep 7, 2026
0050ccf
Merge pull request #1458 from microsoft/paullizer-xsd-ingestion-support
paullizer Sep 7, 2026
cadbc49
Write Redis cache settings during post-deployment configuration
paullizer Sep 7, 2026
5bed5eb
Merge pull request #1462 from paullizer/fix/postconfig-managed-redis
paullizer Sep 7, 2026
00bd562
Fix group-scoped conversation invite source storage
paullizer Sep 8, 2026
4112317
Merge pull request #1473 from paullizer/paullizer-group-conversation-…
paullizer Sep 8, 2026
bf2f13f
Fix cross-worker admin settings consistency and Redis Explorer
nadoylemsft Sep 9, 2026
3faf396
Remove cache bootstrap import cycles and strengthen regression checks
nadoylemsft Sep 9, 2026
4b0c836
Remove unused import from settings regression tests
nadoylemsft Sep 9, 2026
b7ee5d1
Merge pull request #1478 from microsoft/fix/admin-settings-consistency
Bionic711 Sep 15, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,15 @@ if __name__ == "__main__":

## 🔍 **Test Discovery & Reuse**

### Import Lifecycle and Assertion Safety

- Execute setup, mutations, database/cache operations, callbacks, and any getter that can initialize or refresh state **before** an assertion. Assert on the captured result. Python removes `assert` expressions under `-O`; pytest rewriting does not justify side effects in them.
- For example, use `saved = update_settings(changes)` followed by `assert saved`, not `assert update_settings(changes)`.
- Import-cycle regressions need fresh-process tests of real modules, with network calls blocked. Include both import orders, early bootstrap, web/scheduler wiring, and failure paths; a fake `config` module or an AST-only function test can conceal the exact cycle being tested.
- Test normal and optimized Python when verifying that required test operations cannot disappear. An optimized run is not proof of assertion coverage; use explicit checks in its subprocess probe.
- Restore every injected module, callback, environment variable, and monkeypatch after a test. Prefer scoped fixtures/context managers over persistent `sys.modules` replacements.
- Read each CodeQL alert's exact rule and path. Cover the full affected pattern, not just the one flagged line, and rerun the relevant integration tests.

### **Before Creating New Tests:**
1. **Search existing tests**: `grep -r "test_.*{feature}" functional_tests/`
2. **Check for similar patterns**: Look for tests in the same feature area
Expand Down
13 changes: 12 additions & 1 deletion .github/instructions/python-lang.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,18 @@ applyTo: '**/*.py'

## Rule: Imports Must Be Organized and at the Top of the File !IMPORTANT

- IMPORTANT: `from` and `import` statements MUST be grouped at the top of the document after the module docstring, unless otherwise indicated by the code writer or for performance reasons in which case the import should be as close as possible to the usage with a comment explaining why the import is not at the top of the file. CodeQL hammers us on this in the findings. If you find imports that are not at the top of the file, move them to the top and add a comment if there is a reason they cannot be moved. This also helps prevent multuple imports of the same module in different places which can lead to confusion and maintenance issues.
- Group imports after the module docstring by default. Before moving or adding any import, trace the dependency chain and initialization timing. Do not mechanically hoist a local import: that can turn a deferred dependency into a startup failure. Local imports require a concrete lifecycle or performance justification.

## Rule: Preserve Settings and Bootstrap Dependency Boundaries

- A local import delays execution; it does **not** remove a cycle in the dependency graph. Never claim a cycle is fixed merely because the import moved inside a function, or hide it with `try/except ImportError`, `getattr`, or a success-shaped fallback.
- `config.py` constructs Azure clients and imports logging. Treat `config`, `functions_settings`, logging, cache modules, and Redis/Key Vault helpers as a startup dependency chain, not interchangeable utility modules.
- Configure cache/client behavior from the **settings object already supplied by the caller**. Do not import `config`, `cosmos_settings_container`, or another settings owner back into a lower-level cache helper to rediscover that configuration.
- Pass storage handles, factories, and logging callbacks explicitly from the owning settings/bootstrap layer. Keep those runtime objects separate from the settings dictionary: never persist them, copy them into Redis settings payloads, or pass them to the browser.
- Keep `app_settings_cache.py` and `app_settings_store.py` below their owners in the dependency graph. Neither may directly or transitively import `config`, `functions_settings`, `functions_appinsights`, or the configuration-dependent Redis factory. The web app and scheduler supply the factory; the settings owner supplies initialized storage dependencies.
- Use `import app_settings_cache` and module-qualified access for dynamically configured accessors. Importing an accessor by value can retain the pre-initialization `None` or an obsolete implementation.
- On bootstrap changes, inspect both normal web startup and the scheduler, Redis-enabled/disabled/error paths, and calls that occur before initialization. An uninitialized accessor must not silently import its owner or initialize cloud resources.
- Validate with real-module cold imports in fresh processes and blocked network access, plus static dependency checks that include function-local imports. Stub external I/O, not the module boundary under test. Compilation and AST-extracted function tests alone do not prove import safety.

## Rule: Indentation, Logging, and Decorators
- Use 4 spaces per indentation level. No tabs.
Expand Down
8 changes: 8 additions & 0 deletions .github/prompts/prepare-for-pull-request.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,14 @@ Always run:
- A Python syntax compile check for changed Python files, and at minimum the Python files under `application/single_app` that GitHub compiles.
- Any new or changed test files directly.

When imports, settings/cache initialization, or logging bootstrap changed:

- Trace the complete dependency chain, including function-local imports and both web and scheduler startup. A local import is not proof that a cycle was removed.
- Verify lower-level cache helpers use the caller's settings object and explicitly supplied runtime dependencies; do not let them import `config` or the settings owner back into the cache.
- Run `functional_tests/test_app_settings_import_boundaries.py` and the relevant real-module bootstrap tests with network access blocked. Do not rely only on syntax compilation, AST-extracted functions, or stubs for modules at the boundary under test.
- Inspect test assertions for side effects, including getters that populate caches. Execute those operations before assertions and assert only on their results.
- Review CodeQL alert annotations and review threads, not only the workflow job conclusion. A successful analysis job can still publish blocking findings. Do not mark those findings resolved based on compilation alone.

When Python route files changed:

- Run `python scripts/check_swagger_routes.py <changed-python-files>`.
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/broken-access-control-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

- name: Get changed Python files
id: changed-files
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
with:
files_yaml: |
bac_surface:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/broken-access-control-full-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:

- name: Upload Broken Access Control full scan report
if: always() && steps.python-files.outputs.file_count != '0'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: broken-access-control-full-scan-report
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1

# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker_image_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
| cut -c1-128)
echo "BRANCH_TAG=$SAFE" >> "$GITHUB_ENV"

- uses: actions/checkout@a37ce9120846195fa4ece8f58b268e6043cb2f26 # v3.7.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build the Docker image
run:
docker build . --file application/single_app/Dockerfile --tag ${{ secrets.ACR_LOGIN_SERVER }}/simple-chat:$(date +'%Y-%m-%d')_${BRANCH_TAG}_$GITHUB_RUN_NUMBER;
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docker_image_publish_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
| cut -c1-128)
echo "BRANCH_TAG=$SAFE" >> "$GITHUB_ENV"

- uses: actions/checkout@a37ce9120846195fa4ece8f58b268e6043cb2f26 # v3.7.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build the Docker image
env:
DOCKER_BUILDKIT: "0"
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
| cut -c1-128)
echo "BRANCH_TAG=$SAFE" >> "$GITHUB_ENV"

- uses: actions/checkout@a37ce9120846195fa4ece8f58b268e6043cb2f26 # v3.7.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build the Docker image
env:
DOCKER_BUILDKIT: "0"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker_image_publish_nadoyle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
| cut -c1-128)
echo "BRANCH_TAG=$SAFE" >> "$GITHUB_ENV"

- uses: actions/checkout@a37ce9120846195fa4ece8f58b268e6043cb2f26 # v3.7.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build the Docker image
run:
docker build . --file application/single_app/Dockerfile --tag ${{ secrets.ACR_LOGIN_SERVER_NADOYLE }}/simple-chat-dev:$(date +'%Y-%m-%d')_${BRANCH_TAG}_$GITHUB_RUN_NUMBER;
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/malicious-pr-security-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v7
with:
python-version: '3.12'

Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:

- name: Upload review report
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: malicious-pr-security-review
path: artifacts/malicious-pr-security-review.md
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-syntax-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/release-notes-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
with:
files_yaml: |
application:
Expand Down Expand Up @@ -182,7 +182,11 @@ jobs:

- name: Post PR comment (when notes needed but missing)
if: steps.require-notes.outputs.needs_notes == 'true' && steps.changed-files.outputs.release_notes_any_changed != 'true'
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
# Best-effort reminder. Pull requests from forks and from Dependabot run with a
# read-only GITHUB_TOKEN, so creating a comment raises "Resource not accessible by
# integration". This reminder is advisory, so a failure here must not fail the job.
continue-on-error: true
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const reason = '${{ steps.require-notes.outputs.reason }}';
Expand Down Expand Up @@ -239,7 +243,11 @@ jobs:

- name: Post PR comment (when latest features likely needed but missing)
if: steps.require-latest-features.outputs.needs_latest_features == 'true'
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0
# Best-effort reminder. Pull requests from forks and from Dependabot run with a
# read-only GITHUB_TOKEN, so creating a comment raises "Resource not accessible by
# integration". This reminder is advisory, so a failure here must not fail the job.
continue-on-error: true
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const reason = '${{ steps.require-latest-features.outputs.reason }}';
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/staging-azd-ui-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Validate required environment values
shell: bash
Expand Down Expand Up @@ -86,14 +86,14 @@ jobs:
esac

- name: Azure login
uses: azure/login@7184910d9eb2b1c5e48f7073824a90609bb9b6d6 # v2.3.1
uses: azure/login@f5d393ae46f8fde4be8b75f32e3fc50e654ad0ca # v3.0.1
with:
client-id: ${{ env.AZURE_CLIENT_ID }}
tenant-id: ${{ env.AZURE_TENANT_ID }}
subscription-id: ${{ env.AZURE_SUBSCRIPTION_ID }}

- name: Install Azure Developer CLI
uses: Azure/setup-azd@634ad924cf8baef2257898ba5663be8d19f15aca # v2.3.0
uses: Azure/setup-azd@0b7e3a35ab00f2eee7080c845eb39c3f0ebfa553 # v2.4.0

- name: Authenticate Azure Developer CLI
shell: bash
Expand Down Expand Up @@ -224,12 +224,12 @@ jobs:
exit 1

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: "3.12"

- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "20"
cache: npm
Expand Down Expand Up @@ -285,7 +285,7 @@ jobs:

- name: Upload UI test artifacts
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: staging-ui-test-artifacts
path: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/swagger-route-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,18 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

- name: Get changed Python files
id: changed-files
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
with:
files_yaml: |
route_python:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/xss-sink-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.12'

- name: Get changed XSS-related files
id: changed-files
uses: tj-actions/changed-files@2f7c5bfce28377bc069a65ba478de0a74aa0ca32 # v46.0.1
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
with:
files_yaml: |
xss_surface:
Expand Down
Loading
Loading