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

✨ Remote Run Revamp #356

Merged
merged 21 commits into from
Sep 6, 2024
Merged

✨ Remote Run Revamp #356

merged 21 commits into from
Sep 6, 2024

Conversation

MFA-X-AI
Copy link
Member

@MFA-X-AI MFA-X-AI commented Sep 5, 2024

Description

This PR revamps the remote run feature.

revamped.remote.run.webm

Key updates include:

1. Configuration (config.ini) Updates:

  • Custom command definition support. It is no longer mandatory to fill in the [url] or [msg].
  • Placeholder system using {foo} syntax for input forms in the remote form
  • Default value definition for placeholders
  • Predefined variables support ($PYTHON_PATH or $XIRCUITS_PATH)
  • Updated config examples
  • Xircuits now listens to .xircuits/config.ini file and triggers the latest remote config on save

2. Remote Run Interface Improvements:

  • Added template section (uneditable preview)
  • Placeholder section with default values from config.ini
  • Editable final command display integrating placeholders and arguments
  • Improved CSS with collapsible sections
  • The remote config remembers the previous configuration and only updates when the user triggers the run and the fetched config is different from the previous config. In such cases, the fetched config takes priority.

3. Bug Fixes:

  • Fixed issue with needing to trigger run type to fetch latest changes
  • Resolved problem with argument forms not rendering on first run (remote or local)
  • Extensive refactoring, including independent dialogs for local and remote

4. Other:

  • You can now open the config.ini from the Settings menu. Ensure that --ContentsManager.allow_hidden=True is enabled. Will raise an alert if inaccessible.

Pull Request Type

  • Xircuits Core (Jupyterlab Related changes)
  • Xircuits Canvas (Custom RD Related changes)
  • Xircuits Component Library
  • Xircuits Project Template
  • Testing Automation
  • Documentation
  • Others (Please Specify)

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Tests

1. Config.ini Custom Commands and Predefined Variables Test

1. Add custom commands with placeholders and predefined variables in config.ini
2. Open remote run dialog and verify correct display of commands, placeholders, and variable substitution

2. Config.ini Auto-update and Remote Config Memory Test

1. Open remote run dialog, then modify and save config.ini
2. Verify immediate reflection of changes in the dialog
3. Close and reopen dialog, checking if previous configurations are remembered
4. Change config.ini again, trigger a run, and confirm new config takes priority

3. Placeholder and Argument Integration Test

1. Set up a command in config.ini with both placeholders and arguments
2. In remote run dialog, fill placeholders and add arguments
3. Verify correct integration in the final command

4. First Run Rendering Test

1. Open Xircuits for the first time
2. Attempt both local and remote executions, verifying correct argument form rendering

5. Hidden Files and Settings Access Test

1. Launch Xircuits without show hidden files launch / `jupyter lab`
2. Open Xircuits settings and test the option to open config.ini. Verify an alert pops out
3. Launch Xircuits normally / `xircuits`
4. Open Xircuits settings and test the option to open config.ini

6. UI and Functionality Test

1. Open remote run dialog and test collapsible sections
2. Verify presence and functionality of all sections (template, arguments, placeholders, final command) or without (if there's no arguments, there wouldn't be an empty argument or placeholder section).

Tested on?

  • Windows
  • Linux Ubuntu
  • Centos
  • Mac
  • Others (State here -> xxx )

Notes

  • The --ContentsManager.allow_hidden=True is passed by default when launching Xircuits.

Copy link

github-actions bot commented Sep 5, 2024

Binder 👈 Launch a binder notebook on branch XpressAI/xircuits/fahreza/run-type-update

@MFA-X-AI MFA-X-AI merged commit 1c42934 into master Sep 6, 2024
9 checks passed
@MFA-X-AI MFA-X-AI deleted the fahreza/run-type-update branch September 6, 2024 14:30
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.

1 participant