`[Rr]elease*/` is unanchored, so it matched any directory whose name starts with
"release" at any depth -- including documentation and tooling paths that are not
build output. Two directories were silently excluded as a result:
.claude/skills/release-notes/ and .claude/skills/release-announcement/. `git add`
reported nothing and the commit simply omitted them.
bin/ and obj/ are already ignored above, so this pattern only needs to catch a
stray Release/ directory at the repository root. Anchoring it keeps that while
leaving docs/ and tooling directories tracked.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Add unit and integration tests for the `Finish` activity to validate termination behavior (#7110)
- Added `FinishInSequenceWorkflow` to test `Finish` activity in a sequence workflow configuration.
- Introduced integration tests (`FinishTests`) to confirm `Finish` terminates workflows and skips subsequent activities.
- Developed unit tests to verify activity completion and workflow status transitions to `Finished`.
* Update test/integration/Elsa.Activities.IntegrationTests/Primitives/Workflows/FinishInSequenceWorkflow.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update test/integration/Elsa.Activities.IntegrationTests/Primitives/Workflows/FinishInSequenceWorkflow.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add `Finish` activity unit test to verify ITerminalNode implementation
* Add code coverage report generation and GitHub Pages deployment workflow
- Removed unused `tempvalidator` project and its associated files.
- Updated GitHub Actions workflow to include steps for generating code coverage reports in HTML format using `dotnet-reportgenerator-globaltool`.
- Added deployment of coverage reports to GitHub Pages for the `main` branch.
- Updated `.gitignore` to exclude test results and artifacts.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Refactor OpenTelemetry error handling implementation
Introduce WorkflowErrorSpanHandler interface and context for improved error span handling in workflows. Separate activity and workflow error handling using dedicated abstractions and context models. Update error handling logic in tracing middleware and adjust DI configuration accordingly.
* Rename handler class and improve error tagging logic
Renamed `FaultExceptionActivityErrorSpanHandler` to `FaultExceptionErrorSpanHandler` for consistency and clarity. Updated error attribute tagging to align with Datadog's well-known attributes. Adjusted incident selection logic to use the first incident instead of the last.
* Align .gitignore file with consistent formatting
Standardized comments in the .gitignore file by adding missing spaces and capitalizing as needed. Updated the `/docker/data/` entry to `/docker/azurite-data/` for clarity.
* Fix incorrect selection of activity execution context
Replaced `LastOrDefault` with `FirstOrDefault` to ensure the correct activity execution context is retrieved when handling errors. This change resolves potential inaccuracies in identifying the faulted activity node.
* Exclude docker-compose-datadog.yml from solution file.
Moved Oracle setup scripts to a more intuitive directory (`docker/setup`) and updated corresponding volume mappings in `docker-compose.yml`. Adjusted `.gitignore` to exclude the new `docker/data/` directory. This change improves organization and clarity for Oracle-related files.
It seems that some work done in these commits, for the
file ForEachBuilderExtensions was responsible:
* 4807ace13c
* dfbba1e176
A couple of the extension methods were missing out a ToList()
which later caused an ArgumentException when setting a property
value via reflection.
I also added an extra exception for the set-value logic. This way,
if/when there is a problem, the exception will indicate which property
it was trying to set at the time.
* Trivial - Add VS Code workspace
* Trivial - Add VSCode build task & extra ignore
On GNU/Linux, auto-generated .directory
files should be ignored.
* WIP #485 - Boilerplate for unit test project
* WIP #485 - Add test coverage (Remove/RemoveAll)
* WIP #485 - Implement RemoveAll
* Remove redundant logic, covered by IDictionary
Per the following, the contract for a generic IDictionary,
the Remove method already deals with non-existent keys.
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.idictionary-2.remove?view=net-5.0#System_Collections_Generic_IDictionary_2_Remove__0_
* Resolve#485 - Add PurgeVariables methods
These are convenience methods upon ActivityExecutionContext
and WorkflowExecutionContext, consistent with their current APIs.
Also in this commit are tests for those simple methods.
There's a bit of test-scaffold as well included, such as:
* Autofixture Xunit2 integration
* New project for unit tests
* Customize attribute for avoiding crashes on Autofixture recursion
* Reusable specimen builder for creating IServiceProvider which
resolves services from Autofixture
* Custonize attribute for a parameter to use that ^^ specimen builder
* Activity picker dialog
* Activity picker
* Activity editor
* Activity property fields
* Blazor bindings for Elsa designer
* Only index triggers from published & enabled workflow definitions
* Handle case of null workflow blueprint not found
* Add check for zero duration and general scheduler exceptions
* Don't rethrow expression evaluation failure
* Workflow definition settings editor modal
* Integration between stencil and blazor 🎉
* Fix expression type conversion
* Add publish button and restructure components
* Fix up workflow definition ID vs workflow definition version ID
* Update EF Core migrations
* Fix Workflow Publisher
* Fix version display
* Add Import menu item