-
Notifications
You must be signed in to change notification settings - Fork 0
Merge template #13
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
Merge template #13
Conversation
just test for launching each page and ensuring there is not an exception. Currenly having trouble with quickstart. Also add documentation specific tests
fix tests for view_ms_raw_data and file_upload
Add Docker Compose as Deployment Option
Development wix
note currently spectrum visualization is not tested because cannot find a way to select a spectrum to be displayed.
bugs in testing framework caused tests to fail, fix this
Fix Dockerfile Simple
…it-template into additional-tests
fix: increase timeout for test launch function test to 30 seconds
Additional tests files added for test_run_subprocess.py and test_simple_workflow.py
Add descriptions to documentation on how to configure size upload limit
Clear captcha everytime it reruns and also add pip install guide for linux
feat: automatically load example data in pyOpenMS workflow
…… (#192) * fix: prevent email prompt by configuring streamlit before startup * chore: update actions/setup-python from v4 to v5 * update : fix suggest by the reviewerbot * checking : removed lint for now * Use credentials.toml with empty email to disable email prompt * update : all changes done * update : removed the changes suggested * update : as suggested to remove I'll remove this step since the file "streamlit_credentials_template.txt" is never used elsewhere in the workflow. Originally added this for Streamlit authentication, but our current implementation doesn't require these credentials, making this step unnecessary. --------- Co-authored-by: Achal <achal@example.com>
* fix versions in requirements.txt * Ensure environement.yml is in sync with requirements.txt * add dependabot to ensure packages are up to date
* fix : test 1 to fix the issue i will be doing release version to verify * fix : final updates to the pr
* use requirements.txt in dockerfile rather than environemnt.yml * remove sync_conda action and environement.yml do not need environment.yml file anymore * remove environment.yml from dockerfile simple * fix: dockerfile
Bumps [captcha](https://github.com/lepture/captcha) from 0.5.0 to 0.7.1. - [Release notes](https://github.com/lepture/captcha/releases) - [Changelog](https://github.com/lepture/captcha/blob/main/docs/changelog.rst) - [Commits](lepture/captcha@v0.5.0...v0.7.1) --- updated-dependencies: - dependency-name: captcha dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pyopenms](https://github.com/OpenMS/pyopenms-docs) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/OpenMS/pyopenms-docs/releases) - [Commits](OpenMS/pyopenms-docs@release/3.2.0...release/3.3.0) --- updated-dependencies: - dependency-name: pyopenms dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add comprehensive tests for TOPP workflow parameter page * Add comprehensive tests for TOPP workflow parameter page * Add comprehensive tests for TOPP workflow parameter page * Remove unused import and enhance parameter tests with complex data types
WalkthroughThis update introduces new configuration files for dependency management and containerization, refines Windows build workflows, and enhances application settings and resource monitoring. It removes the Conda environment file in favor of explicit Python dependency management, updates package versions, and improves workspace and hardware monitoring logic within the application. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant StreamlitApp
participant settings.json
participant Sidebar
participant psutil
User->>StreamlitApp: Launch app
StreamlitApp->>settings.json: Load settings (if not in session state)
StreamlitApp->>Sidebar: Render sidebar
Sidebar->>psutil: Fetch CPU/RAM stats (every 5s)
Sidebar->>User: Display resource utilization, workspace UI (if enabled), version info
User->>Sidebar: Interact with workspace or settings
Poem
Note ⚡️ AI Code Reviews for VS Code, Cursor, WindsurfCodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback. Note ⚡️ Faster reviews with cachingCodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
.github/workflows/build-windows-executable-app.yaml (1)
282-286:⚠️ Potential issue
sedis not available in the default Windows shell – step will failThese lines run in the default PowerShell shell on
windows-latest.sed -iis *nix-only and will raise “sed : The term 'sed' is not recognized…”.Fix by either:
- Switching the step to a bash shell (Git for Windows provides
sed):- name: Uncomment 'import site' in python311._pth file + name: Uncomment 'import site' in python311._pth file shell: bash run: | sed -i 's/#import site/import site/' python-${{ env.PYTHON_VERSION }}/python311._pth
- Or keep PowerShell and use native commands:
- name: Uncomment 'import site' in python311._pth file run: | (Get-Content python-${{ env.PYTHON_VERSION }}/python311._pth) ` -replace '#import site','import site' | Set-Content python-${{ env.PYTHON_VERSION }}/python311._pthChoose one to prevent the build from breaking.
🧹 Nitpick comments (9)
app.py (1)
4-5: Consider silencing the linter warning forpyopenms.The static analysis tool flags
pyopenmsas unused, but your comment explains it's needed for Windows compatibility. Consider adding a# noqa: F401comment to silence the linter warning.-# For some reason the windows version only works if this is imported here -import pyopenms +# For some reason the windows version only works if this is imported here +import pyopenms # noqa: F401🧰 Tools
🪛 Ruff (0.8.2)
5-5:
pyopenmsimported but unusedRemove unused import:
pyopenms(F401)
requirements.txt (1)
1-12: Consider documenting version changes.Consider adding comments noting when and why versions were upgraded to help with future maintenance. This is especially helpful for understanding compatibility requirements and the reasoning behind specific version constraints.
src/common/captcha_.py (1)
237-237: Remove unused Streamlit empty container.The code creates an empty Streamlit container with
st.empty()that is immediately overwritten in the next line, making it unnecessary.- capta2_text = st.empty().github/workflows/build-windows-executable-app.yaml (1)
61-61: Trailing whitespace picked up by YAML-lintThere is stray whitespace on this otherwise blank line.
While harmless, it keeps the workflow from passingyaml-lintin some strict pipelines.🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 61-61: trailing spaces
(trailing-spaces)
src/common/common.py (5)
13-40: Hardware monitor works, but make it lighter & future-proof
- Streamlit’s
@st.fragmentdecorator requires Streamlit ≥ 1.28. If you ship to users with an older version the app will crash.psutil.virtual_memory()is called twice; capture it once to avoid redundant sys-calls.- Confirm
psutilis listed inrequirements.txt; the new import will break fresh installs otherwise.- cpu_progress = psutil.cpu_percent(interval=None) / 100 - ram_progress = 1 - psutil.virtual_memory().available / psutil.virtual_memory().total + vm = psutil.virtual_memory() + cpu_progress = psutil.cpu_percent(interval=None) / 100 + ram_progress = 1 - vm.available / vm.total
98-109: Micro-optimisation & Ruff warnings – drop redundant.keys()Using
key in dictis both faster and cleaner.- for key, value in st.session_state.items(): - if key in params.keys(): - params[key] = value + for key, value in st.session_state.items(): + if key in params: + params[key] = valueSame pattern appears in
render_sidebar(lines 329-331). Applying the change silences Ruff SIM118 warnings.🧰 Tools
🪛 Ruff (0.8.2)
105-105: Use
key in dictinstead ofkey in dict.keys()Remove
.keys()(SIM118)
282-286: Boolean comparison – simplify & silence Ruff E712-if "controllo" in params.keys() and params["controllo"] == False +if "controllo" in params and not params["controllo"]🧰 Tools
🪛 Ruff (0.8.2)
283-283: Use
key in dictinstead ofkey in dict.keys()Remove
.keys()(SIM118)
283-283: Avoid equality comparisons to
False; useif not params["controllo"]:for false checksReplace with
not params["controllo"](E712)
464-472: Test mode index should start at 0 to stay consistent
st.dataframereturns zero-based indices.
Returning1in test mode can hide off-by-one errors in production.- if st.session_state.settings["test"]: - return 1 + if st.session_state.settings["test"]: + return 0
226-236:workspaces_dirmay not exist – guard againstFileNotFoundError
workspaces_dir.iterdir()(later in the sidebar) will raise if the path hasn’t been created yet.
Consider ensuring the directory exists right after computing it:workspaces_dir.mkdir(parents=True, exist_ok=True)This avoids a crash on first run.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
⛔ Files ignored due to path filters (1)
assets/openms_transparent_bg_logo.svgis excluded by!**/*.svg
📒 Files selected for processing (16)
.github/dependabot.yml(1 hunks).github/workflows/build-windows-executable-app.yaml(6 hunks).github/workflows/test-win-exe-w-embed-py.yaml(2 hunks).gitignore(2 hunks).streamlit/config.toml(2 hunks).streamlit/credentials.toml(1 hunks)Dockerfile(3 hunks)app.py(1 hunks)docker-compose.yml(1 hunks)environment.yml(0 hunks)requirements.txt(1 hunks)run_app.py(1 hunks)settings.json(2 hunks)src/common/captcha_.py(1 hunks)src/common/common.py(10 hunks)src/workflow/ParameterManager.py(1 hunks)
💤 Files with no reviewable changes (1)
- environment.yml
🧰 Additional context used
🧬 Code Graph Analysis (1)
src/common/common.py (1)
src/common/captcha_.py (1)
captcha_control(180-256)
🪛 Ruff (0.8.2)
app.py
5-5: pyopenms imported but unused
Remove unused import: pyopenms
(F401)
src/common/common.py
283-283: Use key in dict instead of key in dict.keys()
Remove .keys()
(SIM118)
283-283: Avoid equality comparisons to False; use if not params["controllo"]: for false checks
Replace with not params["controllo"]
(E712)
329-329: Use key in dict instead of key in dict.keys()
Remove .keys()
(SIM118)
330-330: Use key in dict instead of key in dict.keys()
Remove .keys()
(SIM118)
364-365: Use a single if statement instead of nested if statements
(SIM102)
🪛 YAMLlint (1.35.1)
.github/workflows/build-windows-executable-app.yaml
[error] 61-61: trailing spaces
(trailing-spaces)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build-openms
- GitHub Check: build-full-app
🔇 Additional comments (18)
.gitignore (1)
8-29: Changes to .gitignore look goodThe added patterns are appropriate:
- Ignoring
gdpr_consent/node_modules/prevents Node.js dependencies from being committed- Ignoring
*-embed-amd64helps with build artifacts- Ignoring backup files with
*~is a good practicerun_app.py (1)
3-7: Code formatting improvements look goodThe added blank line after imports and splitting arguments into separate lines improves readability without changing functionality. These changes follow good Python style practices.
src/workflow/ParameterManager.py (1)
80-80: Return type annotation correction is appropriateFixed the return type annotation from
Nonetodictto correctly reflect that this method returns a dictionary. This improves type safety and aligns the annotation with the method's actual behavior.settings.json (2)
4-4: Version tracking is a good additionAdding a version field helps with tracking application releases and can be used for compatibility checks.
17-19: Verify default settings for production useA few considerations about the new settings:
"test": true- Having test mode enabled by default in a template could cause unexpected behavior if not changed before deploying to production.
"workspaces_dir": ".."- Using a relative path may lead to inconsistent behavior depending on the working directory when the application is started. Consider using an absolute path or a path relative to the application directory.Please confirm these default settings are appropriate for the template, especially the
testmode being enabled by default.app.py (2)
3-3: LGTM! Added import for JSON loading.The
jsonmodule is correctly imported to support the new settings loading functionality.
7-10: Well-implemented settings initialization.This is a clean implementation that loads settings from a JSON file once per session. Using a context manager for file operations follows best practices.
.streamlit/config.toml (2)
1-3: Good privacy practice.Disabling usage statistics gathering is a good privacy-oriented configuration that improves user experience.
8-8: Improved configuration clarity.Moving the
maxUploadSizesetting and adding the unit in the comment improves readability and clarity..streamlit/credentials.toml (1)
1-2: Good user experience enhancement.This configuration disables the Streamlit email prompt by providing an empty email field, improving the initial user experience.
requirements.txt (2)
7-7: LGTM! Captcha version upgrade.Upgrading to captcha 0.7.1 from 0.5.0 is a good practice for security and feature enhancements.
4-4:Details
✅ Verification successful
LGTM! Streamlit version upgrade.
Upgrading to Streamlit 1.43.0 from 1.39.0 is a good practice for security and new features.
🌐 Web query:
What are the major changes between Streamlit 1.39.0 and 1.43.0?💡 Result:
Major Changes Between Streamlit 1.39.0 and 1.43.0
From version 1.39.0 to 1.43.0, Streamlit introduced a series of significant enhancements and new features. Below is a summary organized by theme and functionality, focusing on the most notable changes.
Key Feature Additions in 1.43.0
File Upload in Chat Input:
st.chat_inputcan now accept file uploads, enabling richer interactions for chatbots and analytical apps that need file-based input[2][3][4][5].New Column Type: JsonColumn:
A new column configuration,JsonColumn, allows developers to display JSON-compatible objects directly in dataframes, which is especially useful for handling complex nested data[2][3][4].User Timezone in Context:
Thest.contextobject now exposes a user’s timezone and timezone offset, useful for global applications where time-based personalization is needed[2][3].Dataframe and Data Editor Improvements:
- Configurable row heights in
st.dataframeandst.data_editor[2][3][5].- Both widgets now use
use_container_width=Trueby default for responsive layouts[2][3].- Users can now hide columns and auto-size column widths in dataframes[3].
- Ability to change the format of numbers, dates, and times in dataframes[3].
Convenience and Theming Enhancements:
- Markdown now supports a small text directive for finer text control[3].
- Expanded theming options, including settings for roundness, border color, link color, custom fonts, and base font size[5].
- New preconfigured format options for common columns like number, progress, datetime, date, and time columns, simplifying setup for typical data structures[3][5].
Navigation and Component Updates:
st.navigationcan now accept strings, paths, and callables, making navigation in multi-page apps more flexible[2][3][5].
A custom component (streamlit-bokeh) allows displaying Bokeh charts with newer Bokeh versions, extending visualization capabilities[3][4].Static File Serving:
Added support for static files with JSON, XML, and common font file extensions[3][5].Other Notable Improvements
richlibrary is no longer required, reducing dependencies[3][5].- Polars dataframe and series hashing is now supported, broadening compatibility with high-performance dataframes[3].
st.file_uploaderreceived improved display in narrow containers, and bug fixes enhance its reliability[3][5].- Numerous bug fixes for visuals, tab sizing, column ordering, and null-handling in dataframes improved the stability and user experience[3][5].
Summary Table of Major Changes
Feature/Area 1.39.0 Status 1.43.0 Enhancements & Additions File upload in chat input Not available File uploads via st.chat_inputJSON column in dataframes Not available New JsonColumnfor handling JSON objectsUser timezone support Not available Access via st.contextDataframe/editor improvements Basic Row height config, container width default, column hiding, etc. Markdown text options Standard Support for small text directive Navigation handling Limited Accepts strings, paths, callables in st.navigationColumn formatting Manual Preconfigured format for number/date/time/progress columns Bokeh custom component support Limited New streamlit-bokehcomponentStatic file serving Basic JSON, XML, font files supported Polars dataframe hashing Not supported Supported Theming Default options More theming options (font size, roundness, borders) Dependency on richRequired Not required File uploader improvements Basic Improved display and bug fixes
These changes collectively offer developers more flexibility, new data handling capabilities, greater customization, and an improved end-user experience[2][3][5]. For the full, detailed changelog and minor updates, see the official Streamlit release notes.
Citations:
- 1: https://docs.streamlit.io/develop/quick-reference/release-notes
- 2: https://discuss.streamlit.io/t/version-1-43-0/94139
- 3: https://docs.streamlit.io/develop/quick-reference/release-notes/2025
- 4: https://www.youtube.com/watch?v=MjXlnl98abk
- 5: https://github.com/streamlit/streamlit/releases
- 6: https://docs.streamlit.io/develop/quick-reference/release-notes/2024
- 7: https://docs.streamlit.io/develop/api-reference/charts/st.plotly_chart
- 8: https://docs.snowflake.com/en/release-notes/streamlit-in-snowflake
- 9: https://docs.streamlit.io/1.43.0/develop/api-reference/data/st.dataframe
- 10: https://docs.streamlit.io/develop/api-reference/data/st.table
Streamlit 1.43.0 Upgrade Approved – Key Enhancements Summarized
Upgrading from 1.39.0 to 1.43.0 delivers important new features, security improvements, and bug fixes:
- File uploads in
st.chat_inputfor richer chatbot interactions- New
JsonColumnto display nested JSON objects in dataframesst.contextnow exposes user timezone and offset- DataFrame/DataEditor enhancements: configurable row heights, container-width default, column hiding/auto-sizing, and custom formatting for numbers, dates, and times
- Expanded theming options (roundness, borders, link colors, fonts, base font size)
- Flexible navigation API accepting strings, paths, and callables
- Static file serving for JSON, XML, and common font formats
- Polars dataframe/series hashing support
- Removal of the
richdependency- Numerous bug fixes for visuals, tab sizing, column ordering, and null-handling
This upgrade is recommended for enhanced functionality, customization, and overall stability.
.github/workflows/test-win-exe-w-embed-py.yaml (2)
13-13: LGTM: Good practice to define the GUID as an environment variable.Defining the
APP_UpgradeCodeas an environment variable improves maintainability by centralizing this important identifier.
119-119: LGTM: Improved Windows installer versioning.Using
Id="*"for the Product and the environment variable for UpgradeCode follows best practices for Windows installers. This ensures:
- Each build generates a unique Product ID
- The UpgradeCode remains consistent to enable proper upgrade paths
.github/dependabot.yml (1)
1-9: LGTM: Well-configured Dependabot setup.This Dependabot configuration establishes automated dependency updates for Python packages, which will help keep the project secure and up-to-date. The weekly check interval and PR limit are sensible defaults.
Dockerfile (3)
76-76: LGTM: Explicit environment creation.Explicitly creating the mamba environment with a specific Python version makes the build process more transparent and deterministic.
117-120: LGTM: Clean dependency management approach.The approach to filter out pyopenms from requirements.txt is clean and logical since pyopenms is already built and installed from source earlier in the Dockerfile.
181-181: LGTM: More precise asset download command.The updated GitHub CLI command uses explicit asset naming rather than a pattern match, making the download more reliable and specific.
| args: | ||
| GITHUB_TOKEN: $GITHUB_TOKEN | ||
| image: openms_streamlit_template |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
❓ Verification inconclusive
Build-arg placeholder won’t be expanded – use ${VARNAME} syntax
Compose only substitutes environment variables when they are written as ${VARNAME} (or $$ to escape).
Keeping $GITHUB_TOKEN will pass the literal string to Docker, resulting in an empty value inside the image unless you manually quote & export it again.
- args:
- GITHUB_TOKEN: $GITHUB_TOKEN
+ args:
+ GITHUB_TOKEN: ${GITHUB_TOKEN}(If the variable is optional, use ${GITHUB_TOKEN:-}.)
Use ${VARNAME} for build-arg interpolation in docker-compose.yml
Docker Compose only substitutes variables written as ${VARNAME} (or $$ to escape). Using $GITHUB_TOKEN without braces will pass the literal string "$GITHUB_TOKEN" into the build context, not the value of your environment variable.
Apply this change:
build:
context: .
dockerfile: Dockerfile
args:
- GITHUB_TOKEN: $GITHUB_TOKEN
+ GITHUB_TOKEN: ${GITHUB_TOKEN}If the token may be undefined, you can provide an empty default:
GITHUB_TOKEN: "${GITHUB_TOKEN:-}"🤖 Prompt for AI Agents
In docker-compose.yml around lines 8 to 10, the build-arg GITHUB_TOKEN is
referenced as $GITHUB_TOKEN, which will not be expanded by Docker Compose and
will pass the literal string instead. To fix this, change the reference to use
the syntax ${GITHUB_TOKEN} for proper environment variable substitution. If the
variable might be undefined, use the default empty value syntax
${GITHUB_TOKEN:-} to avoid errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (4)
.github/workflows/build-windows-executable-app.yaml (4)
17-18: Consider normalizing environment variable naming and verifying version consistency.While functionally correct, it’s more idiomatic to use all-uppercase with underscores for env var names (e.g.
APP_UPGRADE_CODE), and to confirm thatAPP_NAME: FLASHApp-0.7.2aligns with the version set elsewhere (like insettings.jsonand installer metadata).
62-63: Remove trailing whitespace.Lines 62–63 contain trailing spaces, which trigger YAML lint errors. Please remove them to keep the workflow file clean.
🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 62-62: trailing spaces
(trailing-spaces)
228-234: Explicitly specify the PowerShell shell and handle errors.This step uses PowerShell cmdlets (
Get-Content,ConvertFrom-Json, etc.) but doesn’t setshell:. Onwindows-latest, it defaults to PowerShell, yet adding:shell: pwshimproves clarity. Additionally, consider wrapping the JSON update in error handling to catch missing or invalid
settings.json.
298-306: Guard the credentials copy in the batch script.The
.batcreation unconditionally copiescredentials.toml, which may not exist and cause failures. You might wrap it in:if exist ".streamlit\credentials.toml" ( copy /Y ".streamlit\credentials.toml" "%USERPROFILE%\.streamlit\credentials.toml" >nul )to prevent runtime errors.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (1)
.github/workflows/build-windows-executable-app.yaml(6 hunks)
🧰 Additional context used
🪛 YAMLlint (1.35.1)
.github/workflows/build-windows-executable-app.yaml
[error] 62-62: trailing spaces
(trailing-spaces)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build-full-app
- GitHub Check: build-openms
🔇 Additional comments (1)
.github/workflows/build-windows-executable-app.yaml (1)
249-249: Verify compatibility ofactions/setup-python@v5.You’ve upgraded to
actions/setup-python@v5. Please confirm that v5 is released, supports thepython-versioninput, and behaves identically to v4.
| <?xml version="1.0"?> | ||
| <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> | ||
| <Product Id="8434b940-a943-40f1-ab1f-4db3feedb4ba" Name="${{ env.APP_NAME }}" Language="1033" Version="1.0.0.0" Codepage="1252" Manufacturer="OpenMS Developer Team" UpgradeCode="8d28e8c7-45dc-446c-b889-99a6aea2f1a5"> | ||
| <Product Id="*" Name="${{ env.APP_NAME }}" Language="1033" Version="1.0.0.0" Codepage="1252" Manufacturer="OpenMS Developer Team" UpgradeCode="${{ env.APP_UpgradeCode }}"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix static WiX Product version attribute.
The <Product> element’s Version="1.0.0.0" is hardcoded and will diverge from APP_NAME. This can lead to upgrade/patch mismatches. You should inject the actual release version (e.g. from ${{ github.event.release.tag_name }}) into the Version attribute so the installer version tracks the app version.
🤖 Prompt for AI Agents
In .github/workflows/build-windows-executable-app.yaml at line 388, the Product
element's Version attribute is hardcoded to "1.0.0.0". Replace this static
version with a dynamic reference to the actual release version, such as using
the GitHub release tag (e.g., ${{ github.event.release.tag_name }}), so the
installer version matches the app version and avoids upgrade or patch
mismatches.
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Chores
Style