Bump actions/upload-artifact from 4 to 7 - #5
Merged
getappz merged 1 commit intoJul 5, 2026
Conversation
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
3 tasks
getappz
added a commit
that referenced
this pull request
Aug 13, 2026
…estration (#472) * feat(flare-workflow): scaffold crate with typed DAG types + journal + SQLite store Phase 1-2 of epic #447: core types (StepMode/ErrorMode/JournalEntry with CompletableEntry invariant), DAG validation, StateStore trait + in-memory, and SqliteStore on agentflare-db-kit with append-only journal. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(flare-workflow): journaled DAG engine core with retries + event bus Phase 3 of epic #447: port SMG wfaas engine (DAG parallel scheduler, backoff retries, RetryIndefinitely, cancellation, graceful shutdown, event bus) fused with the durable journal — every terminal step result appended as JournalEntry::StepRun. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(flare-workflow): OpenFang step semantics — conditional/loop/fanout+collect, variables, tokens, eviction Phase 4 of epic #447: engine executes StepMode variants (Conditional skip, Loop until/max-iterations, FanOut+Collect join via shared buffer), string-pipeline input chaining ({{input}} + output_var capture), token accounting on StepState, run-eviction cap (200), and ErrorMode::Skip turns terminal failures into skips. OpenFang test suite ported. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(flare-workflow): durable waits — Sleep timers + WaitEvent promises + complete_event Phase 5 of epic #447: Sleep/WaitEvent journaled (pending + completed entries, Restate design), in-process oneshot waiters, exactly-once complete_event with journaled pre-delivery closing the notify-before-wait race, and TTL timeout path. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(flare-workflow): recovery pass — crash-resume with exactly-once via journal memoization Phase 6 of epic #447: engine.recover() replays active runs over the SQLite journal, skips steps with completed entries (StepRun/Sleep/WaitEvent), and re-drives pending steps; pending Sleep re-arms idempotently; WorkflowDefinition is now Clone for re-registration. Durable-wait methods split into waits.rs to stay under the LOC gate. Crash-resume test proves a completed step never re-executes (exactly-once); racing completions resolve to one winner. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(flare-workflow): OpenFang JSON schema + compile + example workflows Phase 7 (core) of epic #447: JsonWorkflow schema compiles to engine-ready definitions with agent-prompt executors dispatching through a caller-supplied SendMessage hook (input/var templating, token accounting, retryable by default). OpenFang's four example workflows (code-review, research-and-write with conditional, brainstorm fan-out+collect, iterative-refinement loop) run as fixtures. Workspace builds with the new member. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * docs(flare-workflow): crate README — usage, durability, JSON workflows Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * chore: update Cargo.lock for flare-workflow crate Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(workflow): mcp__flare__workflow + agentflare workflow CLI + real pipeline test Phase 7b: src/workflow.rs service (durable SqliteStore, shared runtime, headless-agent SendMessage hook) + mcp__flare__workflow (run/status/ complete_event/list) + agentflare workflow CLI. compile_workflow now wires OpenFang positional ordering into DAG edges (sequential chain, fan-out group -> collect). complete_event is journal-first so a different engine instance (MCP/CLI/recovery) resolves a wait. Tests: service round-trips, cross-engine event resolution, and a REAL coder->reviewer->PR pipeline that performs git/ file work in a temp repo (branch, commit, real-diff review loop, PR ref). Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * feat(workflow): MCP handler tests + async cores for daemon-safe invocation Phase 7b completion: workflow service exposes async cores (no nested block_on from the daemon's async runtime) with sync wrappers for the CLI; mcp__flare__workflow handler tests cover run/status/list + error paths; real coder->reviewer->PR git flow test proves the engine drives agentflare's item-pipeline mechanics. Agentflare-Agent: 1 Agentflare-Branch: task/447 Agentflare-Item: 447 * fix(flare-workflow): resolve code-review findings on task/447 Fixes for the 8 review findings on item #447 (all except #8, documented below): - agent_send_hook now runs run_headless inside spawn_blocking within the async block, instead of synchronously before it (finding #1). - SqliteStore's StateStore impl wraps every method's rusqlite I/O in spawn_blocking so it can't stall an async executor thread (#2). - WorkflowEngine gains an optional runtime handle (with_runtime_handle); start_workflow/recover/start_cleanup_task spawn through it. src/workflow.rs now attaches WORKFLOW_RT so the MCP path (which awaits the async core directly on the daemon's own runtime) also keeps execution off that runtime, not just the CLI's block_on path (#3). - Steps whose dependency failed now get an explicit Skipped status (with a cascade to their own dependents) instead of staying stuck at Pending forever; completion signals now forward on any terminal result, not just Success/Skip, so blocked dependents actually reach the scheduler (#4). - WaitEvent waiters are now keyed per step instance (run_id:step_id:name) instead of run_id:name, so two concurrent wait_event steps sharing an event name no longer drop each other's waiter; complete_event wakes every matching waiter (#5). - cleanup_old_workflows no longer panics via .expect() on a lock/query failure; it logs and returns 0 like its siblings (#6). - write_state now does targeted UPSERTs of step_state/run_vars rows instead of DELETE-all + INSERT-all on every write (#7). Finding #8 (WorkflowRunId::new() vs db_kit::ids::new_id()) intentionally left as-is: new_id() returns a nanoid String, but WorkflowRunId wraps a Uuid and is parsed/displayed as a v7 UUID throughout the MCP/CLI surface (explicitly time-ordered). Switching would require re-typing WorkflowRunId from Uuid to String across the crate and would lose the v7 time-ordering property, which is a materially different and larger change than the 'low - consistency' severity implies. Added regression tests: concurrent_wait_events_same_name_both_resolve and dependent_of_failed_step_gets_terminal_status. cargo test -p flare-workflow (55 tests) + agentflare workflow::/ mcp_server::workflow:: tests (7 tests) pass; fmt + clippy (-D warnings -A unsafe_code -A clippy::pedantic) clean workspace-wide. Agentflare-Agent: claude-code Agentflare-Branch: task/447 Agentflare-Item: 447 * fix(flare-workflow): drop unmaintained backoff crate, regen hakari workspace-hack Replace the RUSTSEC-flagged backoff crate with a hand-rolled exponential strategy in retry.rs (base * 1.5^n, capped at max) — the crate's own randomization was redundant with apply_jitter anyway. Regenerate agentflare-workspace-hack via cargo hakari generate to pick up flare-workflow's dependency set. Agentflare-Agent: claude-code Agentflare-Branch: task/447 Agentflare-Item: 447 * fix(flare-workflow): resolve CodeRabbit findings — durable sleep, update race, db_path Three real bugs surfaced by the fresh full-diff CodeRabbit review on PR #472: - waits.rs execute_sleep recomputed wake_at from Utc::now() on every call, including on crash-recovery re-arm, so a durable Sleep never resumed its original deadline — every restart pushed the wake time out further. Now reuses the wake_at from an existing pending Sleep journal entry. - sqlite_store.rs SqliteStore::update released the connection lock between its load and write, so concurrent updates on the same run (e.g. two fan-out branches completing close together) could race and silently drop one's mutation. Added update_lock held across the whole cycle. - mcp_server/workflow.rs honored a client-supplied db_path in production, letting any MCP caller point the workflow store at an arbitrary file. The override is now test-only (cfg!(test)); production always uses the default ~/.agentflare/workflows.db path. Added regression tests for the first two (recover_reams_pending_sleep now asserts wake_at is preserved across the crash boundary; concurrent_updates_on_same_run_do_not_lose_writes spawns 20 concurrent updates and asserts none are lost). The db_path fix isn't independently testable — cfg!(test) is true for any test binary — so it's covered by the existing MCP tests continuing to pass with their tempdir overrides. Remaining CodeRabbit nitpicks (eprintln vs tracing, brittle journal_tail count assertion, README doctest formatting, missing composite index, discarded delete_state errors in cleanup, executor.rs default is_retryable, non-blocking cancellation test, duplicate StepId validation, WaitEvent journal entries not scoped by step_id, EntryResult::success swallowing serialization errors, InMemoryStore::journal NotFound vs empty-vec inconsistency, fan_group dependency derivation edge case) are lower-severity style/robustness items left for a follow-up pass rather than folded into this bugfix. The journal.rs 'use RETURNING instead of a second SELECT' suggestion was checked and is a non-issue here: all journal writes go through the same Arc<Mutex<Connection>>, so there's no race for it to fix. Agentflare-Agent: claude-code Agentflare-Branch: task/447 Agentflare-Item: 447
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/upload-artifact from 4 to 7.
Release notes
Sourced from actions/upload-artifact's releases.
... (truncated)
Commits
043fb46Merge pull request #797 from actions/yacaovsnc/update-dependency634250cInclude changes in typespec/ts-http-runtime 0.3.5e454baaReadme: bump all the example versions to v7 (#796)74fad66Update the readme with direct upload details (#795)bbbca2dSupport direct file uploads (#764)589182cUpgrade the module to ESM and bump dependencies (#762)47309c9Merge pull request #754 from actions/Link-/add-proxy-integration-tests02a8460Add proxy integration testb7c566aMerge pull request #745 from actions/upload-artifact-v6-releasee516bc8docs: correct description of Node.js 24 support in READMEDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)