Skip to content

Automerge staging into next#407

Merged
peterfpeterson merged 1 commit intostagingfrom
automerge_staging
Jul 19, 2024
Merged

Automerge staging into next#407
peterfpeterson merged 1 commit intostagingfrom
automerge_staging

Conversation

@peterfpeterson
Copy link
Member

@peterfpeterson peterfpeterson commented Jul 19, 2024

Description of work

Every time that there is a commit to staging, that is merged directly into next. This will ensure that bigfixes for the next release get into the development branch. The workflow is adapted from mantid.

To test

Dev testing

The run that passed is here.

CIS testing

N/A

Link to EWM item

EWM6082

@codecov
Copy link

codecov bot commented Jul 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.09%. Comparing base (abd0ae6) to head (402cb0f).
Report is 19 commits behind head on staging.

Additional details and impacted files
@@           Coverage Diff            @@
##           staging     #407   +/-   ##
========================================
  Coverage    95.09%   95.09%           
========================================
  Files           60       60           
  Lines         3792     3792           
========================================
  Hits          3606     3606           
  Misses         186      186           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@peterfpeterson peterfpeterson force-pushed the automerge_staging branch 4 times, most recently from ee13596 to 24a0ef8 Compare July 19, 2024 17:14
@peterfpeterson peterfpeterson marked this pull request as ready for review July 19, 2024 17:19
@peterfpeterson peterfpeterson merged commit edf8bc7 into staging Jul 19, 2024
@peterfpeterson peterfpeterson deleted the automerge_staging branch July 19, 2024 17:34
peterfpeterson added a commit that referenced this pull request Jul 19, 2024
* make sure the finalCalibrationTable is set to the expected table (#406)

* Automerge staging into next (#407)

---------

Co-authored-by: Michael Walsh <68125095+walshmm@users.noreply.github.com>
walshmm pushed a commit that referenced this pull request Jul 29, 2024
walshmm pushed a commit that referenced this pull request Jul 30, 2024
`ReductionRecipe` code cleanup (#393)

* Reduction recipe arguments

This commit includes the following changes:

  * Add factory methods to `ReductionIngredients` to produce any required sub-recipe ingredients.  This fix allows sub-recipes in `ReductionRecipe` to be called with their correct argument type.  This behavior is now required by Pydantic v2, but in general should be considered correct behavior when typed arguments are used.

  * Remove temporary attributes from `ReductionRequest`.  This includes removing the "ambiguous plural"  for `focusGroup`, which is now simply `focusGroups: List[FocusGroup]`, and always will be accessed as a list.

  * Modify `SNAPRequest.payload: str` to `SNAPRequest.payload: Optional[Any]`.  As such this now matches `SNAPResponse.data`.  With respect to this change, note that previously the type of this argument was ignored, and `Request...` types were passed as the payload without stringification.  Pydantic v2 will no longer allow this.

  * Remove the erroneous conversion of `runNumber` to `int` in `ReductionView`.  Note that for compatibility with Mantid, `runNumber: str` is still the correct parameter type, as "ISIS" uses `str` suffixes to integer 'runNumber'.

  * Omit `runNumber` removal from the run-numbers list at the end of the reduction workflow.  For the moment, it is desirable to retain the list of run numbers so that the user can easily see what has actually been reduced.  Note that there actually was a defect associated with this removal operation, which has been bypassed by omitting this call.  However, since the removal method works in other cases, any further work on this issue will be deferred to a later date.

* fixup: ruff

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Kort Travis <traviska@ornl.gov>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

[pre-commit.ci] pre-commit autoupdate (#399)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.0 → v0.5.1](astral-sh/ruff-pre-commit@v0.5.0...v0.5.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

make sure the finalCalibrationTable is set to the expected table (#406)

Automerge staging into next (#407)

Properly iterate diagnostics 🔂  (#412)

* fix problem

* add test of workflow implementer renaming on iteration

* update workflow implementer test to use qtbot

Retain reduction-workflow output workspaces

As this commit itself is relatively small, and will be merged to "next" almost immediately, no attempt has been made to separate out the "staging" changes specific to the present defect.  This commit includes changes added to facilitate `qtbot`-based testing, which also happen to satisfy the requirements of this "3.0.1 defect" regarding retention of reduction-workflow output workspaces:

  * Identify ADS-resident workspaces before the start of each workflow, and do not delete these workspaces at exit.  This allows users to go back-and-forth between the SNAPRed panel, and the Mantid workbench, and not to have their workspaces unexpectedly deleted by SNAPRed.  In addition, simply extending this workspace list where required allowed retention of final result workspaces from the reduction workflow.

  * Lock out other workflow tabs once a workflow has started;

  * Use `@Slot` decorator where appropriate, throughout the codebase.  This allows `pyqt` to check `Signal` argument types, but in addition, it also allows clear identification of which methods are being employed as slots;

  * Add missing `QObject` derivation for several classes with methods that are used as Qt slots.

  * Add several new signals specifically to help during testing: these include a signal at the start of each workflow, and a signal when any `Worker` task completes.  By default, connecting these `Signal` to `lambda *args: None` allows `qtbot` to intercept them when required;

  * All `QMessageBox` and `ActionPrompt`-style dialogs, including `SuccessPrompt` (formerly `SuccessDialog`) are now called only via static `warning`, `critical`, and `prompt` methods.  This allows these dialogs to be easily mocked without requiring mocking their entire classes;

  * Remove 'WorkflowNodePresenter' as _dead_ code.  This removal is in an _interim_ state, now marked by retaining the source file, but renamed to `WorkflowNodePresenter_.py`.  The reason for this approach is that most probably we _do_ want to distinguish between `WorkflowPresenter` and `WorkflowNodePresenter`, and although it's not being used at present, this issue should probably be fixed.

  * Rename workspace-service plural methods to plural 'Workspaces'.  Add 'excludeCache: bool' option to 'ListWorkspacesRequest'.

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
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.

2 participants