Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
9b9bead
creating workflows
paullizer Sep 23, 2025
92db48f
fraud analyssis
paullizer Sep 23, 2025
864a80e
support agents
paullizer Sep 23, 2025
4e98d2a
update
paullizer Sep 23, 2025
64080a5
fix
paullizer Sep 23, 2025
20dc12d
updated demo
paullizer Sep 23, 2025
8df0343
Swagger lite (#469)
paullizer Sep 29, 2025
d24ff83
adding support for xlsm, Macro Excel files.
paullizer Sep 29, 2025
446b71f
Merge branch 'workflows' into Development
paullizer Sep 29, 2025
e97d470
moved into features
paullizer Sep 29, 2025
adbed01
initial
paullizer Sep 30, 2025
3292be1
added readme
paullizer Sep 30, 2025
75ca487
removed html code
paullizer Sep 30, 2025
24528ac
Update config.py (#477)
Patrick-Davis-MSFT Oct 1, 2025
e37bf50
Initial Setup for Pages documentation (#479)
paullizer Oct 2, 2025
46b9163
initial
paullizer Oct 2, 2025
58b58b0
added to base
paullizer Oct 2, 2025
5cd2f28
adding real data endpoints
paullizer Oct 2, 2025
2e0942f
Update route_backend_control_center.py
paullizer Oct 2, 2025
6ec77ee
added individual charts
paullizer Oct 3, 2025
1eda535
fix for bug 485
nadoylemsft Oct 3, 2025
e42ce5c
added document metrics
paullizer Oct 4, 2025
b225502
added links to control center
paullizer Oct 4, 2025
7841e42
debug
paullizer Oct 5, 2025
f39da82
added date
paullizer Oct 6, 2025
a8221b9
fixed bugs due to branch descrepancies
cjackson202 Oct 6, 2025
3e3c8c8
added Azure SQL Driver Docker File
cjackson202 Oct 7, 2025
c93ea7b
added documentation for docker_fileSession updates
cjackson202 Oct 7, 2025
8c5c2ba
Redis Managed Identity Azure Government Support Changes
cjackson202 Oct 7, 2025
39b4528
Stop tracking ignored folders
cjackson202 Oct 8, 2025
ba1ca48
updated gitignore
cjackson202 Oct 8, 2025
95a7647
Merge branch 'cj-dev' into Development - Ensured ManagedIdentity supp…
cjackson202 Oct 8, 2025
711e0de
Merge pull request #488 from cjackson202/Development
Bionic711 Oct 10, 2025
6a3c322
Merge branch 'Development' into bugfix485
nadoylemsft Oct 10, 2025
71eff52
Merge pull request #487 from microsoft/bugfix485
Bionic711 Oct 10, 2025
33f5d8c
added sort by to table for user management
paullizer Oct 16, 2025
9e124ff
storage account size processing
paullizer Oct 16, 2025
fe75d09
Front end now shows storage account sizing
paullizer Oct 16, 2025
556f6d8
export user management list to csv
paullizer Oct 16, 2025
6e6c976
adding group management
paullizer Oct 16, 2025
f5fa596
fixing swagger generation
paullizer Oct 23, 2025
b412a60
fix
paullizer Oct 23, 2025
17e6fed
Added inline dynamic property generation
paullizer Oct 23, 2025
9ca0bf2
added YAML support
paullizer Oct 23, 2025
34b2b71
Improved muiltform vs app/json detection
paullizer Oct 23, 2025
5090eec
added Control Center Admin role
paullizer Oct 23, 2025
52ac365
ai search sizing is working for groups
paullizer Oct 24, 2025
0a0978e
group refresh fixed
paullizer Oct 24, 2025
c72dfe1
added group data fix
paullizer Oct 24, 2025
503a3e0
group table refresh
paullizer Oct 24, 2025
0f5c73f
updated export to include group docs
paullizer Oct 25, 2025
b4007c8
adding public workspace management
paullizer Oct 25, 2025
9eca474
removed sample data and consolidated row generators
paullizer Oct 25, 2025
8469bc7
Changed both caching helper functions to use the existing update_docu…
paullizer Oct 29, 2025
b520432
removed workflow, will work on that in different branch
paullizer Oct 31, 2025
044c7d9
Document Set Fingerprinting, Scope-Aware Cache Key Generation, Event-…
paullizer Nov 10, 2025
7ac37b4
added debug logging
paullizer Nov 10, 2025
3d84394
setup cache feature and ttl time to admin app settings
paullizer Nov 10, 2025
bf1f14a
removed cosmos level ttl
paullizer Nov 10, 2025
baa71a9
Keyvault for secrets (#492)
Bionic711 Nov 11, 2025
db74c0d
Feature/remove abp for pr (#510)
Bionic711 Nov 12, 2025
0fd0eae
Merge branch 'improved-search' into Development
paullizer Nov 12, 2025
2035b90
Feature/group agents actions (#521)
Bionic711 Nov 19, 2025
fab926b
Merge branch 'Data-and-Workspace-Management' into Development
paullizer Nov 19, 2025
ab0a4ef
Add cosmos activity logs container configuration
paullizer Nov 20, 2025
d50064a
incorporate branch updates Add 372 fix 489
paullizer Nov 21, 2025
41e924d
Support deployment via AZD UP (#530)
SteveCInVA Nov 23, 2025
e545917
Video Indexer, Multi-Modal Enhancements, Scope Bug
paullizer Nov 24, 2025
164459f
Conversation Management Features (#532)
paullizer Nov 24, 2025
3bf067a
Message management (#553)
paullizer Dec 19, 2025
c91d555
Configure Application from AZD Up command (#548)
SteveCInVA Dec 19, 2025
f7afced
Adds Azure Billing Plugin in Community Customizations (#546)
Bionic711 Dec 19, 2025
ef2a2a7
Security/container build (#549)
Bionic711 Dec 19, 2025
04b5c12
Feature/speech managed identity (#543)
Xeelee33 Dec 19, 2025
6a85856
Banner text color picker from Vivien (#555)
clarked-msft Dec 23, 2025
0e67ac8
Remove opencensus
clarked-msft Jan 5, 2026
460b14b
Merge pull request #559 from clarked-msft/remove-opencensus-requirement
Bionic711 Jan 6, 2026
1555dbf
Add flask instrumentation
clarked-msft Jan 6, 2026
40f5cfd
Add troubleshooting doc
clarked-msft Jan 6, 2026
74df9f8
Add troubleshooting doc
clarked-msft Jan 6, 2026
164dd80
Merge pull request #562 from clarked-msft/flask-intrumentor
Bionic711 Jan 6, 2026
3913480
Control center (#567)
paullizer Jan 13, 2026
a2bb469
Adding release notes
paullizer Jan 13, 2026
43989ac
Merge origin/main into Development - Resolved all conflicts
paullizer Jan 13, 2026
29dfbe0
fixed debug_debug_print
paullizer Jan 13, 2026
df2d77e
Updated README
paullizer Jan 13, 2026
2c7b627
Update README.md
paullizer Jan 13, 2026
9a8ce3b
Merge branch 'main' into Development
paullizer Jan 13, 2026
de013e4
accepted changes
paullizer Jan 13, 2026
49959e8
removed files
paullizer Jan 13, 2026
db0729e
GitHub Actions workflow that runs Python compilation checks on all Py…
paullizer Jan 13, 2026
1c3c133
Upated to v0.235.002
paullizer Jan 13, 2026
b20a5c7
removed debug test file
paullizer Jan 13, 2026
f70934c
Updated to v0.235.003
paullizer Jan 13, 2026
80ec215
Merge branch 'main' into Development
paullizer Jan 13, 2026
09fe817
Update python-syntax-check.yml
paullizer Jan 13, 2026
ce140f5
fixed disable group creation bug
paullizer Jan 15, 2026
4aac607
fixed bug not showing raw activity log for groups
paullizer Jan 15, 2026
9b9644e
fixed control center access to not require admin role when enabling c…
paullizer Jan 15, 2026
31ced93
fix documentation
paullizer Jan 15, 2026
e6f33c0
Update release_notes.md
paullizer Jan 15, 2026
919ed52
Update README.md
paullizer Jan 15, 2026
8878f1d
Merge branch 'main' into control-center-bug-fixes
paullizer Jan 15, 2026
646aaba
added click restrictions to top items in control center
paullizer Jan 15, 2026
2c2d92a
Merge pull request #598 from microsoft/control-center-bug-fixes
Bionic711 Jan 15, 2026
8af21bc
bug fix - fixed group member select after search, group member remova…
Xeelee33 Jan 16, 2026
3b0aa7f
Retention execution activity log (#600)
paullizer Jan 17, 2026
db25652
Merge branch 'Staging' into Development
paullizer Jan 17, 2026
305275d
Updated branch flow
paullizer Jan 17, 2026
7c04b7e
Merge pull request #608 from Xeelee33/bugfix/manage_group_errors
Bionic711 Jan 18, 2026
2ebfff6
added log_event to exceptions
paullizer Jan 20, 2026
5c58096
enforce-branch-flow
paullizer Jan 20, 2026
49c3a69
Merge branch 'Staging' into Development
paullizer Jan 20, 2026
875c338
v0.235.025 (#609)
paullizer Jan 20, 2026
d05f354
Updated searchUsers() function with inline and toast messages instead…
Xeelee33 Jan 21, 2026
3378bb9
Bugfix - removed hardcoded references to commerical cognitive service…
Xeelee33 Jan 21, 2026
db5a3f8
Support of Private Networking via Bicep / AZD (#617)
SteveCInVA Jan 21, 2026
467d7b9
Configure a user agreement that users must accept before uploading fi…
paullizer Jan 21, 2026
7525792
Merge branch 'Staging' into Development
paullizer Jan 21, 2026
74cccf4
Add default retention policy (#623)
paullizer Jan 22, 2026
ebe25ce
Web Search and other Misc items (#624)
Bionic711 Jan 22, 2026
6dbb107
Updated release notes
paullizer Jan 22, 2026
d0872e6
Create release-notes-check.yml
paullizer Jan 22, 2026
4e0a54b
added debug_print logging to web search
paullizer Jan 22, 2026
c44ca65
Updated the admin UI for web search
paullizer Jan 23, 2026
56212be
Added configuration setup to web search admin ui
paullizer Jan 23, 2026
98ac837
Added chat ui user message for web search
paullizer Jan 23, 2026
d7d9bc1
Updated release notes
paullizer Jan 23, 2026
d754af6
removed agent template gallery from release notes as its not in this …
paullizer Jan 23, 2026
efea5aa
removed broad ai foundry agent support release notes, as its not in t…
paullizer Jan 23, 2026
5cd3e1d
bugfix - fixed content safety client creation so that it creates prop…
Xeelee33 Jan 23, 2026
a639f0e
Merge pull request #632 from microsoft/v0.236.011-release-notes
Bionic711 Jan 23, 2026
258cd16
Merge pull request #636 from microsoft/Development
Bionic711 Jan 23, 2026
e20f549
pipeline trigger fix (#637)
Bionic711 Jan 23, 2026
24bca76
Merge pull request #638 from microsoft/Development
Bionic711 Jan 23, 2026
315f8fd
added events for buttons
paullizer Jan 24, 2026
1bb6863
updated the logging logic when running retention delete with archivin…
paullizer Jan 26, 2026
abe76ef
Development (#646)
paullizer Jan 26, 2026
b36325c
Development to Staging - v0.237.001 (#650)
paullizer Jan 26, 2026
42a7673
Merge branch 'main' into Staging
paullizer Jan 26, 2026
8f4ef13
Development to Staging - v0.237.003 (#655)
paullizer Jan 26, 2026
c4e04c1
Merge branch 'main' into Staging
paullizer Jan 26, 2026
9446de9
Development (#658)
paullizer Jan 26, 2026
468c7e5
Merge branch 'main' into Staging
paullizer Jan 26, 2026
6ed8e19
v0.237.005 (#673)
paullizer Jan 30, 2026
c95093d
Merge branch 'main' into Staging
paullizer Jan 30, 2026
53447c9
Development (#677)
paullizer Jan 30, 2026
12910ab
Merge branch 'main' into Staging
paullizer Jan 30, 2026
77b3385
v0.237.007 (#680)
paullizer Jan 30, 2026
4f296b5
Merge branch 'main' into Staging
paullizer Jan 30, 2026
3e208c7
v0.237.009 (#699)
paullizer Feb 9, 2026
6862f6e
Merge branch 'main' into Staging
paullizer Feb 9, 2026
19b37bd
Development (#710)
paullizer Feb 11, 2026
98e86b6
Merge branch 'main' into Staging
paullizer Feb 11, 2026
7a3d467
v0.238.024 - Development into Staging (#733)
paullizer Mar 2, 2026
6c3e292
Development (#754)
paullizer Mar 3, 2026
0b80ded
Development (#756)
paullizer Mar 3, 2026
6850326
Merge branch 'main' into Staging
paullizer Mar 3, 2026
54c54cb
Development (#761)
paullizer Mar 3, 2026
e38f704
Merge branch 'main' into Staging
paullizer Mar 3, 2026
54b48f6
Development (#827)
paullizer Apr 8, 2026
776211a
Development (#831)
paullizer Apr 8, 2026
f0a90b1
Merge branch 'main' into fix/staging-config-20260408
paullizer Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .github/instructions/html-lang.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
applyTo: '**/*.html'
---

# HTML Language Guide

- Use 4 spaces per indentation level. No tabs.

- Use double quotes for all HTML attributes. Ex: `<div class="my-class">`

- Self-closing tags should include the trailing slash. Ex: `<img src="image.png" />`

- Use semantic HTML5 elements where appropriate. Ex: `<header>`, `<nav>`, `<main>`, `<footer>`

- Include ARIA roles and attributes to enhance accessibility. Ex: `role="button"`, `aria-label="Close"`

- Keep inline styles to a minimum; prefer CSS classes for styling.

- Use comments to separate major sections of the HTML document. Ex: `<!-- Header Section -->`

- Use Jinja templating syntax consistently for dynamic content, settings, and configuration. Ex: `{{ variable }}`, `{% if condition %}`

- Use bootstrap classes for layout, styling consistency, and data presentation. Ex: `class="container"`, `class="row"`, `class="col-md-6"`, `data-bs-toggle="modal"`
4 changes: 3 additions & 1 deletion .github/instructions/javascript-lang.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ applyTo: '**/*.js'

- Do not use display:none. Instead add and remove the d-none class when hiding or showing elements.

- Prefer inline html notifications or toast messages using Bootstrap alert classes over browser alert() calls.
- Prefer inline html notifications or toast messages using Bootstrap alert classes over browser alert() calls.

- Use bootstrap modals for confirmation dialogs instead of native browser confirm() calls.
31 changes: 28 additions & 3 deletions .github/instructions/python-lang.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,37 @@ applyTo: '**/*.py'

# Python Language Guide

- Files should start with a comment of the file name. Ex: `# functions_personal_agents.py`
- All files MUST start with a comment of the file name. Ex: `# functions_personal_agents.py`

- Imports should be grouped at the top of the document after the module docstring, unless otherwise indicated by the user or for performance reasons in which case the import should be as close as possible to the usage with a documented note as to why the import is not at the top of the file.
## Rule: Follow Standard Python Conventions

- Standard python conventions, such as the use of snake case, must be followed.

## 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.

## Rule: Indentation, Logging, and Decorators
- Use 4 spaces per indentation level. No tabs.

- Code and definitions should occur after the imports block.

- Prefer log_event from functions_appinsights.py for logging activites.
- All logging should used tag based prefixes. Ex: [GPTClient] or [SKLoader] to identify the source of the log message and make it easier to trace. Tags should be enclosed in square brackets. Tags should be generalized to the operation that is occurring. Any existins logging that is missing tags should have tags added.

- Always import `log_event` from `functions_appinsights.py` for any logging activities.

- All files MUST use the `log_event` function from `functions_appinsights.py` for production-type logging activities. Ensure that all log events include relevant contextual information as properties to facilitate effective monitoring and troubleshooting. Messages returned to the client should not contain sensitive information, but should be informative enough to understand the context of the event.

- Prefer using `log_event` from functions_appinsights.py for production-type logging activites.

- Use `log_event` from functions_appinsights.py with debug_only=True for debug logging purposes. All method, calls, warnings and errors should be debug_logged.

- Files with routes MUST import `from swagger_wrapper import swagger_route, get_auth_security` and use the `@swagger_route(security=get_auth_security())` decorator for all route functions.

- When editing group workspace content, always use the `assert_group_role(user_id, group_id, allowed_roles=("Owner", "Admin", "DocumentManager", "User"))` function to verify the user's current membership and role in the group before allowing access to group-scoped resources or operations. This ensures that users cannot access or modify group content based solely on a potentially stale or tampered `activeGroupOid` reference. Roles should vary based on the level of access required for the operation, but should always include "Owner" and "Admin" as allowed roles.

- Unless otherwise indicated, all routes MUST include `@login_required` decorator.

- Always use f-strings for string interpolation. Ex: `f"User ID: {user_id}"` instead of `"User ID: {}".format(user_id)"`

- Never use `except:` without specifying the exception type. Always catch specific exceptions or use `except Exception as ex:` to capture the exception details. This also avoids accidentally catching system-exiting exceptions like `KeyboardInterrupt` or `SystemExit`.
158 changes: 158 additions & 0 deletions .github/instructions/ui_tests.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---
applyTo: '**/*.html, **/*.js, **/*.css'
---

# UI Tests

- Always create or update Azure Playwright UI tests when changing HTML, CSS, or JavaScript that affects rendering, user interaction, layout, client-side state, or browser workflows. Leverage the `azure-mgmt-playwright` Python library.

## Location

- Store all UI tests in the `ui_tests/` folder at the root of the project.
- Keep reusable helpers, fixtures, authentication utilities, and page models inside `ui_tests/` so UI automation stays separate from `functional_tests/`.
- Place screenshots, traces, and other test artifacts under a dedicated subfolder such as `ui_tests/artifacts/`.

## When UI Tests Are Required

### Always create or update UI tests for:
- New pages, views, or templates.
- HTML changes that affect structure, accessibility, forms, navigation, or conditional rendering.
- CSS changes that affect layout, spacing, responsive behavior, visibility, theming, or visual regressions.
- JavaScript changes that affect event handlers, DOM updates, modals, tabs, filtering, validation, async loading, or error handling.
- Bug fixes involving display logic, user flows, or browser-side regressions.
- Features that require proof that the browser experience works end to end.

### Focus areas for coverage:
- Rendering: page content, empty states, conditional sections, and accessibility attributes.
- Interaction: clicks, typing, keyboard navigation, dialogs, dropdowns, and form submission.
- Styling and layout: visible states, responsive breakpoints, overflow issues, and Bootstrap-driven behavior.
- JavaScript behavior: dynamic updates, loading indicators, validation messages, and error states.

## Required Technology

- Use Azure Playwright for UI automation.
- Use the `azure-mgmt-playwright` Python package when provisioning or connecting to Azure Playwright resources.
- Use `DefaultAzureCredential` for authentication. Never hardcode credentials, API keys, or secrets in UI tests.
- Write UI tests in Python unless the user explicitly requests another language.

## Naming Conventions

### File naming:
- Use `test_{page_or_feature}_{scenario}.py` for executable UI tests.
- Use descriptive names tied to the user-visible workflow being validated.

### Examples:
- `test_chat_sidebar_navigation.py`
- `test_workspace_document_filters.py`
- `test_group_workspace_modal_validation.py`
- `test_public_workspace_responsive_layout.py`

## Suggested Directory Structure

```text
ui_tests/
test_chat_sidebar_navigation.py
test_workspace_document_filters.py
conftest.py
auth_helpers.py
page_models/
fixtures/
artifacts/
```

## Test Design Requirements

- Keep each test independent and runnable on its own.
- Cover the complete browser workflow: navigation, setup, action, validation, and cleanup when needed.
- Validate both expected success paths and visible failure states.
- Prefer stable selectors such as `id`, `name`, `data-testid`, ARIA roles, labels, and text that is intentionally user-facing.
- Avoid brittle selectors based on deeply nested CSS paths or Bootstrap implementation details.
- If a UI change is responsive, validate at least desktop and mobile viewport behavior.
- If a change is accessibility-sensitive, validate visible labels, roles, focus movement, and keyboard behavior where practical.

## Python UI Test Template

```python
# test_chat_sidebar_navigation.py
"""
UI test for chat sidebar navigation.

Version: [current version from config.py when applicable]
Implemented in: [version when fix or feature was added]

This test ensures that the sidebar navigation renders correctly,
supports keyboard and mouse interaction, and updates the visible
chat panel without browser errors.
"""

from pathlib import Path

import pytest
from playwright.sync_api import expect


@pytest.mark.ui
def test_chat_sidebar_navigation(page):
"""Validate that users can navigate between sidebar destinations."""
page.goto("http://127.0.0.1:5000")
page.get_by_role("button", name="Open navigation").click()
page.get_by_role("link", name="Workspaces").click()

expect(page.get_by_role("heading", name="Workspaces")).to_be_visible()
expect(page.get_by_text("Recent documents")).to_be_visible()
```

## Authentication and Environment Rules

- Authenticate Azure dependencies with `DefaultAzureCredential`.
- Read environment-specific values such as base URLs, tenant-specific settings, or test accounts from environment variables or secure configuration.
- Never commit secrets, session tokens, storage keys, or passwords.
- If a test requires signed-in state, create a reusable login helper in `ui_tests/` rather than duplicating login steps across files.

## What to Validate in UI Tests

### HTML changes:
- Key headings, landmarks, labels, buttons, links, and form elements render correctly.
- Conditional content appears or stays hidden at the right time.
- Accessibility-related attributes remain intact.

### CSS changes:
- Elements are visible when expected and hidden only when intended.
- Layout behaves correctly at the supported viewport sizes.
- Important visual states such as error, loading, selected, disabled, and hover-adjacent states are testable.

### JavaScript changes:
- Event handlers trigger the correct visible behavior.
- DOM updates complete after async actions.
- Validation, toast messages, modals, drawers, and loading indicators behave correctly.
- Browser console errors should be treated as failures when they are caused by the changed workflow.

## Reuse and Maintainability

- Extract repeated UI actions into helper functions or page model classes.
- Keep assertions close to the action they validate so failures are easy to diagnose.
- Use concise setup utilities for viewport, authentication, seeded test data, and navigation.
- Prefer a small number of focused tests over one large brittle end-to-end script.

## Execution Patterns

### Typical workflow:
- Start the local app or target environment.
- Run only the relevant UI test file while iterating.
- Run the broader affected UI suite before completing the change.

### Example commands:
```bash
cd ui_tests
pytest test_chat_sidebar_navigation.py
pytest -m ui
```

## Best Practices

- Write UI tests as part of the same change that updates the HTML, CSS, or JavaScript.
- Keep test names and docstrings explicit about the user behavior being validated.
- Capture screenshots or traces for failures when the workflow is difficult to diagnose.
- Avoid sleeping for fixed durations; wait for meaningful UI conditions instead.
- Verify user-visible outcomes, not just implementation details.
- If a bug fix changes browser behavior, add a regression UI test that fails without the fix.
2 changes: 1 addition & 1 deletion .github/workflows/release-notes-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
uses: tj-actions/changed-files@v46.0.1
with:
files_yaml: |
code:
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/swagger-route-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Swagger Route Check

on:
pull_request:
branches:
- main
- Development
- staging
paths:
- 'application/single_app/**/*.py'
- 'scripts/check_swagger_routes.py'
- '.github/workflows/swagger-route-check.yml'

jobs:
swagger-route-check:
runs-on: ubuntu-latest

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

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

- name: Get changed Python files
id: changed-files
uses: tj-actions/changed-files@v46.0.1
with:
files_yaml: |
route_python:
- 'application/single_app/**/*.py'
- 'scripts/check_swagger_routes.py'

- name: Run swagger route validation
env:
CHANGED_ROUTE_FILES: ${{ steps.changed-files.outputs.route_python_all_changed_files }}
run: |
if [[ -z "$CHANGED_ROUTE_FILES" ]]; then
echo "No changed application Python files detected."
exit 0
fi

echo "Changed Python files:"
printf '%s\n' "$CHANGED_ROUTE_FILES" | tr ' ' '\n'

python scripts/check_swagger_routes.py $CHANGED_ROUTE_FILES
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,10 @@ flask_session
tmp**cwd
/tmp_images
nul
/.github/plans
*.xlsx
/artifacts/tests
/artifacts/tmp/*
/artifacts/tmp
scripts/agent.json
scripts/me.json
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ return render_template('page.html', settings=public_settings)

## Version Management

- Its important to update the version at the end of every plan
- Version is stored in `config.py`: `VERSION = "X.XXX.XXX"`
- When incrementing, only change the third segment (e.g., `0.238.024` -> `0.238.025`)
- Include the current version in functional test file headers and documentation files
Expand All @@ -83,7 +84,7 @@ return render_template('page.html', settings=public_settings)

## Release Notes

After completing code changes, offer to update `docs/explanation/release_notes.md`.
After completing plans and code changes, offer to update `docs/explanation/release_notes.md`.

- Add entries under the current version from `config.py`
- If the version was bumped, create a new section at the top: `### **(vX.XXX.XXX)**`
Expand Down
Loading
Loading