Skip to content

Add DAP server#4298

Merged
rentziass merged 46 commits intomainfrom
rentziass/debugger
Mar 23, 2026
Merged

Add DAP server#4298
rentziass merged 46 commits intomainfrom
rentziass/debugger

Conversation

@rentziass
Copy link
Copy Markdown
Member

@rentziass rentziass commented Mar 13, 2026

This adds a DAP server to the runner to build debugging functionalities. The whole DAP integration is gated by the new EnableDebugger flag on the job message (feature flagged at the API level).

When a job starts, after the job setup we will start the DAP server and allow users to step over to every step in the job, and:

  • inspect the scope of the runner
  • test evaluating expressions
  • run shell commands as if they were run steps in their jobs (full job context, supporting expression expansion, etc.)

Here's an example of what this looks like connecting to the runner from nvim-dap:

CleanShot 2026-03-13 at 15 43 05@2x

rentziass and others added 27 commits March 10, 2026 04:13
Introduce a reusable component that maps runner ExpressionValues and
PipelineContextData into DAP scopes and variables. This is the single
point where execution-context values are materialized for the debugger.

Key design decisions:
- Fixed scope reference IDs (1–100) for the 10 well-known scopes
  (github, env, runner, job, steps, secrets, inputs, vars, matrix, needs)
- Dynamic reference IDs (101+) for lazy nested object/array expansion
- All string values pass through HostContext.SecretMasker.MaskSecrets()
- The secrets scope is intentionally opaque: keys shown, values replaced
  with a constant redaction marker
- MaskSecrets() is public so future DAP features (evaluate, REPL) can
  reuse it without duplicating masking policy

Co-authored-by: Copilot <[email protected]>
Replace the stub HandleScopes/HandleVariables implementations that
returned empty lists with real delegation to DapVariableProvider.

Changes:
- DapDebugSession now creates a DapVariableProvider on Initialize()
- HandleScopes() resolves the execution context for the requested
  frame and delegates to the provider
- HandleVariables() delegates to the provider for both top-level
  scope references and nested dynamic references
- GetExecutionContextForFrame() maps frame IDs to contexts:
  frame 1 = current step, frames 1000+ = completed (no live context)
- Provider is reset on each new step to invalidate stale nested refs

Co-authored-by: Copilot <[email protected]>
Provider tests (DapVariableProviderL0):
- Scope discovery: empty context, populated scopes, variable count,
  stable reference IDs, secrets presentation hint
- Variable types: string, boolean, number, null handling
- Nested expansion: dictionaries and arrays with child drilling
- Secret masking: redacted values in secrets scope, SecretMasker
  integration for non-secret scopes, MaskSecrets delegation
- Reset: stale nested references invalidated after Reset()
- EvaluateName: dot-path expression syntax

Session integration tests (DapDebugSessionL0):
- Scopes request returns scopes from step execution context
- Variables request returns variables from step execution context
- Scopes request returns empty when no step is active
- Secrets values are redacted through the full request path

Co-authored-by: Copilot <[email protected]>
Add EvaluateExpression() that evaluates GitHub Actions expressions
using the runner's existing PipelineTemplateEvaluator infrastructure.

How it works:
- Strips ${{ }} wrapper if present
- Creates a BasicExpressionToken and evaluates via
  EvaluateStepDisplayName (supports the full expression language:
  functions, operators, context access)
- Masks the result through MaskSecrets() — same masking path used
  by scope inspection
- Returns a structured EvaluateResponseBody with type inference
- Catches evaluation errors and returns masked error messages

Also adds InferResultType() helper for DAP type hints.

Co-authored-by: Copilot <[email protected]>
Add HandleEvaluate() that delegates expression evaluation to the
DapVariableProvider, keeping all masking centralized.

Changes:
- Register 'evaluate' in the command dispatch switch
- HandleEvaluate resolves frame context and delegates to
  DapVariableProvider.EvaluateExpression()
- Set SupportsEvaluateForHovers = true in capabilities so DAP
  clients enable hover tooltips and the Watch pane

No separate feature flag — the debugger is already gated by
EnableDebugger on the job context.

Co-authored-by: Copilot <[email protected]>
Provider tests (DapVariableProviderL0):
- Simple expression evaluation (github.repository)
- ${{ }} wrapper stripping
- Secret masking in evaluation results
- Graceful error for invalid expressions
- No-context returns descriptive message
- Empty expression returns empty string
- InferResultType classifies null/bool/number/object/string

Session integration tests (DapDebugSessionL0):
- evaluate request returns result when paused with context
- evaluate request returns graceful error when no step active
- evaluate request handles ${{ }} wrapper syntax

Co-authored-by: Copilot <[email protected]>
Introduce a typed command model and hand-rolled parser for the debug
console DSL. The parser turns REPL input into HelpCommand or
RunCommand objects, keeping parsing separate from execution.

Ruby-like DSL syntax:
  help                              → general help
  help("run")                      → command-specific help
  run("echo hello")                → run with default shell
  run("echo $X", shell: "bash", env: { X: "1" })
                                    → run with explicit shell and env

Parser features:
- Handles escaped quotes, nested braces, and mixed arguments
- Keyword arguments: shell, env, working_directory
- Env blocks parsed as { KEY: "value", KEY2: "value2" }
- Returns null for non-DSL input (falls through to expression eval)
- Descriptive error messages for malformed input
- Help text scaffolding for discoverability

Co-authored-by: Copilot <[email protected]>
Implement the run command executor that makes REPL `run(...)` behave
like a real workflow `run:` step by reusing the runner's existing
infrastructure.

Key design choices:
- Shell resolution mirrors ScriptHandler: job defaults → explicit
  shell from DSL → platform default (bash→sh on Unix, pwsh→powershell
  on Windows)
- Script fixup via ScriptHandlerHelpers.FixUpScriptContents() adds
  the same error-handling preamble as a real step
- Environment is built from ExecutionContext.ExpressionValues[`env`]
  plus runtime context variables (GITHUB_*, RUNNER_*, etc.), with
  DSL-provided env overrides applied last
- Working directory defaults to $GITHUB_WORKSPACE
- Output is streamed in real time via DAP output events with secrets
  masked before emission through HostContext.SecretMasker
- Only the exit code is returned in the evaluate response (avoiding
  the prototype's double-output bug)
- Temp script files are cleaned up after execution

Co-authored-by: Copilot <[email protected]>
Route `evaluate` requests by context:
- `repl` context → DSL parser → command dispatch (help/run)
- All other contexts (watch, hover, etc.) → expression evaluation

If REPL input doesn't match any DSL command, it falls through to
expression evaluation so the Debug Console also works for ad-hoc
`github.repository`-style queries.

Changes:
- HandleEvaluateAsync replaces the sync HandleEvaluate
- HandleReplInputAsync parses input through DapReplParser.TryParse
- DispatchReplCommandAsync dispatches HelpCommand and RunCommand
- DapReplExecutor is created alongside the DAP server reference
- Remove vestigial `await Task.CompletedTask` from HandleMessageAsync

Co-authored-by: Copilot <[email protected]>
Parser tests (DapReplParserL0, 22 tests):
- help: bare, case-insensitive, with topic
- run: simple script, with shell, env, working_directory, all options
- Edge cases: escaped quotes, commas in env values
- Errors: empty args, unquoted arg, unknown option, missing paren
- Non-DSL input falls through: expressions, wrapped expressions, empty
- Help text contains expected commands and options
- Internal helpers: SplitArguments with nested braces, empty env block

Session integration tests (DapDebugSessionL0, 4 tests):
- REPL help returns help text
- REPL non-DSL input falls through to expression evaluation
- REPL parse error returns error result (not a DAP error response)
- watch context still evaluates expressions (not routed through REPL)

Co-authored-by: Copilot <[email protected]>
The run() command was passing ${{ }} expressions literally to the
shell instead of evaluating them first. This caused scripts like
`run("echo ${{ github.job }}")` to fail with 'bad substitution'.

Fix: add ExpandExpressions() that finds each ${{ expr }} occurrence,
evaluates it individually via PipelineTemplateEvaluator, masks the
result through SecretMasker, and substitutes it into the script body
before writing the temp file — matching how ActionRunner evaluates
step inputs before ScriptHandler sees them.

Also expands expressions in DSL-provided env values so that
`env: { TOKEN: "${{ secrets.MY_TOKEN }}" }` works correctly.

Co-authored-by: Copilot <[email protected]>
Completions (SupportsCompletionsRequest = true):
- Respond to DAP 'completions' requests with our DSL commands
  (help, help("run"), run(...)) so they appear in the debug
  console autocomplete across all DAP clients
- Add CompletionsArguments, CompletionItem, and
  CompletionsResponseBody to DapMessages

Friendly error messages for unsupported stepping commands:
- stepIn: explain that Actions debug at the step level
- stepOut: suggest using 'continue'
- stepBack/reverseContinue: note 'not yet supported'
- pause: explain automatic pausing at step boundaries

The DAP spec does not provide a capability to hide stepIn/stepOut
buttons (they are considered fundamental operations). The best
server-side UX is clear error messages when clients send them.

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
- Guard WaitForCommandAsync against resurrecting terminated sessions (H1)
- Mask exception messages in top-level DAP error responses (M1)
- Move isFirstStep=false outside try block to prevent continue breakage (M5)
- Guard OnJobCompleted with lock-internal state check to prevent duplicate events (M6)

Co-authored-by: Copilot <[email protected]>
- Add centralized secret masking in DapServer.SendMessageInternal so all
  outbound DAP payloads (responses, events) are masked before serialization,
  creating a single egress funnel that catches secrets regardless of caller.
- Redact the entire secrets scope in DapVariableProvider regardless of
  PipelineContextData type (NumberContextData, BooleanContextData, containers)
  not just StringContextData, closing the defense-in-depth gap.
- Null values under secrets scope are now also redacted.
- Existing per-call-site masking retained as defense-in-depth.

Co-authored-by: Copilot <[email protected]>
Comment thread src/Runner.Worker/Dap/DapMessages.cs
Comment thread src/Sdk/DTPipelines/Pipelines/AgentJobRequestMessage.cs
Comment thread src/Runner.Worker/JobRunner.cs Outdated
Comment thread src/Runner.Worker/Dap/DapDebugger.cs Outdated
Comment thread src/Runner.Worker/Dap/DapDebugger.cs Outdated
Comment thread src/Runner.Worker/Dap/DapDebugger.cs Outdated
Comment thread src/Runner.Worker/Dap/DapDebugger.cs Outdated
Comment thread src/Runner.Worker/Dap/DapDebugger.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
""";
}

internal static string GetRunHelp()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feels like a parsed json?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or the workflow - run step?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run: {"command": "echo $foo", env: {....}}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this to a bigger conversation but good call, something recognizable like run() + JSON as the arg would save us a lot of parsing work. I liked the ruby-ness of it in the console but truth we'll probably have tools that make these calls on behalf of users.

Copy link
Copy Markdown
Contributor

@ChristopherHX ChristopherHX Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe you could also handle additionally action yml snippets (vscode shift enter for multiline input, not unlikely nvim-dap can as well)

run
- run: |
    echo Test
  • Runner.Worker has a steps yaml parser for this
  • Can be detected by run followed by newline
  • Similar to the lldb script command that can be followed by multiline python code

A single line fallback is always good, but for some advanced users is copy paste actual actions workflow yaml possibly a big usability win

Single line could look like this if we omit the list - or []

run { run: echo Test, env: { a: b }}

Multiline without list

run
run: |
   echo Test

Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs Outdated
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs
Comment thread src/Runner.Worker/Dap/DapVariableProvider.cs
@rentziass rentziass enabled auto-merge (squash) March 23, 2026 13:57
@rentziass rentziass merged commit e17e7aa into main Mar 23, 2026
12 checks passed
@rentziass rentziass deleted the rentziass/debugger branch March 23, 2026 14:02
elysia-best added a commit to loong64/runner that referenced this pull request Apr 26, 2026
commit f1995ed
Author: Salman Chishti <[email protected]>
Date:   Tue Apr 21 19:49:15 2026 +0100

    Update release version to 2.334.0

commit c87d955
Author: Salman Chishti <[email protected]>
Date:   Tue Apr 21 19:40:21 2026 +0100

    Prepping runner release 2.334.0 (actions#4365)

commit 7407189
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 17:49:08 2026 +0100

    Bump Microsoft.DevTunnels.Connections from 1.3.16 to 1.3.39 (actions#4339)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit a84fb36
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 17:39:38 2026 +0100

    Bump typescript from 6.0.2 to 6.0.3 in /src/Misc/expressionFunc/hashFiles (actions#4353)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 84598e0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 17:38:26 2026 +0100

    Bump System.ServiceProcess.ServiceController from 10.0.3 to 10.0.6 (actions#4358)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 8fa7457
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 16:36:21 2026 +0000

    Bump @typescript-eslint/eslint-plugin from 8.58.1 to 8.59.0 in /src/Misc/expressionFunc/hashFiles (actions#4359)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 00af837
Author: Salman Chishti <[email protected]>
Date:   Tue Apr 21 17:31:10 2026 +0100

    Add vulnerability-alerts permission (actions#4350)

commit 6692e6a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 16:06:40 2026 +0000

    Bump System.Formats.Asn1 and System.Security.Cryptography.Pkcs (actions#4362)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit cacb25d
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Apr 21 15:15:02 2026 +0100

    Bump @typescript-eslint/parser from 8.58.1 to 8.59.0 in /src/Misc/expressionFunc/hashFiles (actions#4360)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit c6ca9f6
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Apr 20 17:06:35 2026 +0000

    Update dotnet sdk to latest version @8.0.420 (actions#4356)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit fad1253
Author: Copilot <[email protected]>
Date:   Mon Apr 20 10:45:12 2026 -0400

    Bump Docker version to 29.4.0 (actions#4352)

    Co-authored-by: copilot-swe-agent[bot] <[email protected]>
    Co-authored-by: luketomlinson <[email protected]>

commit 45debbd
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Apr 20 12:44:20 2026 +0000

    chore: update Node versions (actions#4355)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 43e5211
Author: Francesco Renzi <[email protected]>
Date:   Fri Apr 17 14:18:01 2026 +0100

    Add WS bridge over DAP TCP server (actions#4328)

    Co-authored-by: Tingluo Huang <[email protected]>

commit 4a587ad
Author: Salman Chishti <[email protected]>
Date:   Fri Apr 10 19:39:33 2026 +0100

    feat: add `job.workflow_*` typed accessors to JobContext (actions#4335)

commit 182a433
Author: Copilot <[email protected]>
Date:   Fri Apr 10 12:40:28 2026 +0100

    Bump System.Formats.Asn1, Cryptography.Pkcs, ProtectedData, ServiceController, CodePages, Threading.Channels, @actions/glob, @typescript-eslint/parser, lint-staged, picomatch (actions#4333)

    Co-authored-by: copilot-swe-agent[bot] <[email protected]>
    Co-authored-by: Salman Chishti <[email protected]>

commit 8d35e71
Author: Salman Chishti <[email protected]>
Date:   Fri Apr 10 11:34:08 2026 +0100

    fix: only show changed versions in node upgrade PR description (actions#4332)

commit 2bcc65e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Apr 10 09:01:34 2026 +0100

    Bump typescript from 5.9.3 to 6.0.2 in /src/Misc/expressionFunc/hashFiles (actions#4329)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 1ba5fdf
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Apr 10 08:54:56 2026 +0100

    Bump actions/github-script from 8 to 9 (actions#4331)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 580116c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 8 07:44:38 2026 +0000

    Bump @typescript-eslint/eslint-plugin from 8.57.2 to 8.58.1 in /src/Misc/expressionFunc/hashFiles (actions#4327)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit c9a1751
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Apr 8 08:40:32 2026 +0100

    Update Docker to v29.3.1 and Buildx to v0.33.0 (actions#4324)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 7711dc5
Author: Francesco Renzi <[email protected]>
Date:   Tue Apr 7 13:51:33 2026 +0100

    Add devtunnel connection for debugger jobs (actions#4317)

commit df50788
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Apr 1 13:19:42 2026 +0100

    Bump brace-expansion in /src/Misc/expressionFunc/hashFiles (actions#4318)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 5c6dd47
Author: Tingluo Huang <[email protected]>
Date:   Tue Mar 31 17:51:01 2026 -0400

    Add support for Bearer token in action archive downloads (actions#4321)

commit 7ff994b
Author: Stefan Penner <[email protected]>
Date:   Tue Mar 31 11:28:43 2026 -0600

    Batch and deduplicate action resolution across composite depths (actions#4296)

    Co-authored-by: Stefan Penner <[email protected]>
    Co-authored-by: Claude Opus 4.6 <[email protected]>

commit b9275b5
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 30 12:58:17 2026 +0000

    chore: update Node versions (actions#4319)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit f0c2286
Author: eric sciple <[email protected]>
Date:   Fri Mar 27 11:45:42 2026 -0500

    Remove AllowCaseFunction feature flag (actions#4316)

commit 9728019
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Mar 24 10:40:31 2026 +0000

    Bump @typescript-eslint/eslint-plugin from 8.57.1 to 8.57.2 in /src/Misc/expressionFunc/hashFiles (actions#4310)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e17e7aa
Author: Francesco Renzi <[email protected]>
Date:   Mon Mar 23 14:02:15 2026 +0000

    Add DAP server (actions#4298)

    Co-authored-by: Copilot <[email protected]>
    Co-authored-by: Tingluo Huang <[email protected]>

commit 4259ffb
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Mar 20 01:02:30 2026 +0000

    Bump flatted from 3.2.7 to 3.4.2 in /src/Misc/expressionFunc/hashFiles (actions#4307)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 4e8e1ff
Author: Salman Chishti <[email protected]>
Date:   Wed Mar 18 16:51:00 2026 +0000

    prep new runner release 2.333.0 (actions#4306)

commit b6cca8f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Mar 18 16:26:33 2026 +0000

    Bump @typescript-eslint/eslint-plugin from 8.54.0 to 8.57.1 in /src/Misc/expressionFunc/hashFiles (actions#4304)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 18d0789
Author: Salman Chishti <[email protected]>
Date:   Tue Mar 17 18:58:34 2026 +0000

    Node 24 enforcement + Linux ARM32 deprecation support (actions#4303)

commit c985a9f
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 16 13:48:09 2026 +0000

    Update dotnet sdk to latest version @8.0.419 (actions#4301)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Tingluo Huang <[email protected]>

commit 45ed15d
Author: Tingluo Huang <[email protected]>
Date:   Mon Mar 16 09:31:57 2026 -0400

    Report infra_error for action download failures. (actions#4294)

commit c5dcf59
Author: Nikola Jokic <[email protected]>
Date:   Fri Mar 13 19:16:31 2026 +0100

    Exit with specified exit code when runner is outdated (actions#4285)

    Co-authored-by: Copilot <[email protected]>

commit c7f6c49
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Mar 11 10:21:47 2026 +0000

    Bump @typescript-eslint/eslint-plugin from 8.47.0 to 8.54.0 in /src/Misc/expressionFunc/hashFiles (actions#4230)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 40dd583
Author: eric sciple <[email protected]>
Date:   Mon Mar 9 11:10:08 2026 -0500

    Fix cancellation token race during parser comparison (actions#4280)

commit 68f2e9a
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 9 13:02:32 2026 +0000

    chore: update Node versions (actions#4287)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 2b98d42
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 9 00:37:54 2026 +0000

    Update Docker to v29.3.0 and Buildx to v0.32.1 (actions#4286)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit ce8ce41
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sat Mar 7 22:13:23 2026 +0000

    Bump @stylistic/eslint-plugin from 5.9.0 to 5.10.0 in /src/Misc/expressionFunc/hashFiles (actions#4281)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 5310e90
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sat Mar 7 01:59:22 2026 +0000

    Bump actions/attest-build-provenance from 3 to 4 (actions#4266)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 9832328
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sat Mar 7 01:49:28 2026 +0000

    Bump docker/setup-buildx-action from 3 to 4 (actions#4282)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 5ef3270
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sat Mar 7 01:44:58 2026 +0000

    Bump docker/build-push-action from 6 to 7 (actions#4283)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 1138dd8
Author: eric sciple <[email protected]>
Date:   Thu Mar 5 14:56:28 2026 -0600

    Fix positional arg bug in ExpressionParser.CreateTree (actions#4279)

commit 99910ca
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Mar 5 15:45:49 2026 +0000

    Bump docker/login-action from 3 to 4 (actions#4278)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit bcd04cf
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Mar 5 14:55:48 2026 +0000

    Bump actions/upload-artifact from 6 to 7 (actions#4270)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 20111cb
Author: eric sciple <[email protected]>
Date:   Wed Mar 4 17:36:45 2026 -0600

    Support `entrypoint` and `command` for service containers (actions#4276)

commit 8f01257
Author: Max Horstmann <[email protected]>
Date:   Wed Mar 4 15:17:25 2026 -0500

    Devcontainer: bump base image Ubuntu version (actions#4277)

commit 8a73bcc
Author: eric sciple <[email protected]>
Date:   Mon Mar 2 23:38:16 2026 -0600

    Fix parser comparison mismatches (actions#4273)

commit a9a07a6
Author: Tingluo Huang <[email protected]>
Date:   Mon Mar 2 22:44:14 2026 -0500

    Avoid throw in SelfUpdaters. (actions#4274)

commit 60a9422
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 2 13:51:11 2026 +0000

    chore: update Node versions (actions#4272)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 985a06f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Feb 27 09:18:13 2026 +0000

    Bump actions/download-artifact from 7 to 8 (actions#4269)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ae09a9d
Author: eric sciple <[email protected]>
Date:   Thu Feb 26 08:36:55 2026 -0600

    Fix composite post-step marker display names (actions#4267)

commit 7650fc4
Author: Tingluo Huang <[email protected]>
Date:   Wed Feb 25 15:44:27 2026 -0500

    Log inner exception message. (actions#4265)

commit bc00800
Author: Salman Chishti <[email protected]>
Date:   Wed Feb 25 13:36:47 2026 +0000

    Bump runner version to 2.332.0 and update release notes (actions#4264)

commit 86e2360
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Feb 25 12:02:23 2026 +0000

    Bump @stylistic/eslint-plugin from 3.1.0 to 5.9.0 in /src/Misc/expressionFunc/hashFiles (actions#4257)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 0fb7482
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Feb 25 11:56:32 2026 +0000

    Bump minimatch in /src/Misc/expressionFunc/hashFiles (actions#4261)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 052dfbd
Author: Pavel Iakovenko <[email protected]>
Date:   Tue Feb 24 12:19:46 2026 -0500

    Symlink actions cache (actions#4260)

commit ecb5f29
Author: eric sciple <[email protected]>
Date:   Mon Feb 23 09:00:12 2026 -0600

    Composite Action Step Markers (actions#4243)

commit a2b2209
Author: Salman Chishti <[email protected]>
Date:   Sat Feb 21 19:19:46 2026 +0000

    Update Node.js 20 deprecation date to June 2nd, 2026 (actions#4258)

    Co-authored-by: Salman <[email protected]>

commit 9426c35
Author: Salman Chishti <[email protected]>
Date:   Thu Feb 19 17:05:32 2026 +0000

    Add Node.js 20 deprecation warning annotation (Phase 1) (actions#4242)

commit 72189aa
Author: Tingluo Huang <[email protected]>
Date:   Wed Feb 18 12:00:37 2026 -0500

    Try to infer runner is on hosted/ghes when githuburl is empty. (actions#4254)

commit e012ab6
Author: Tingluo Huang <[email protected]>
Date:   Tue Feb 17 14:09:05 2026 -0500

    Fix link to SECURITY.md in README (actions#4253)

commit a798a45
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Feb 16 11:34:26 2026 +0000

    Update dotnet sdk to latest version @8.0.418 (actions#4250)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: Salman Chishti <[email protected]>

commit 9efea31
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Feb 16 11:29:25 2026 +0000

    chore: update Node versions (actions#4249)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 6680090
Author: Zach Renner <[email protected]>
Date:   Thu Feb 12 05:46:48 2026 -0800

    Remove unnecessary connection test during some registration flows (actions#4244)

commit 15cb558
Author: eric sciple <[email protected]>
Date:   Wed Feb 11 09:44:01 2026 -0600

    Fix parser comparison mismatches (actions#4220)

commit d5a8a93
Author: eric sciple <[email protected]>
Date:   Tue Feb 10 12:28:42 2026 -0600

    Add telemetry tracking for deprecated set-output and save-state commands (actions#4221)

commit cdb77c6
Author: Tingluo Huang <[email protected]>
Date:   Tue Feb 10 09:31:10 2026 -0500

    Support return job result as exitcode in hosted runner. (actions#4233)

commit a4a19b1
Author: Nikola Jokic <[email protected]>
Date:   Tue Feb 10 02:07:20 2026 +0100

    Bump hook to 0.8.1 (actions#4222)

commit 1b5486a
Author: Tingluo Huang <[email protected]>
Date:   Mon Feb 9 08:42:07 2026 -0500

    Validate work dir during runner start up. (actions#4227)

commit 4214709
Author: Takuma Ishikawa <[email protected]>
Date:   Mon Feb 9 06:03:41 2026 +0900

    Add support for libssl3 and libssl3t64 for newer Debian/Ubuntu versions (actions#4213)

commit 3ffedab
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Feb 2 02:15:37 2026 +0000

    Update Docker to v29.2.0 and Buildx to v0.31.1 (actions#4219)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 3a80a78
Author: eric sciple <[email protected]>
Date:   Fri Jan 30 09:24:06 2026 -0600

    Fix local action display name showing `Run /./` instead of `Run ./` (actions#4218)

commit 6822f4a
Author: Tingluo Huang <[email protected]>
Date:   Tue Jan 27 16:52:25 2026 -0500

    Report job level annotations (actions#4216)

commit ad43c63
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Jan 25 21:10:56 2026 -0500

    Update Docker to v29.1.5 and Buildx to v0.31.0 (actions#4212)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 5d4fb30
Author: eric sciple <[email protected]>
Date:   Thu Jan 22 15:17:18 2026 -0600

    Allow empty container options (actions#4208)

commit 1df72a5
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Jan 22 14:41:15 2026 +0000

    Bump System.Formats.Asn1 and System.Security.Cryptography.Pkcs (actions#4202)

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 02013cf
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Jan 19 23:08:47 2026 -0500

    Update dotnet sdk to latest version @8.0.417 (actions#4201)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

commit 7d5c17a
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue Jan 20 02:18:53 2026 +0000

    chore: update Node versions (actions#4200)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

# Conflicts:
#	.devcontainer/devcontainer.json
#	images/Dockerfile
#	releaseNote.md
#	releaseVersion
#	src/Misc/expressionFunc/hashFiles/package-lock.json   resolved by v2.334.0 version
#	src/Misc/expressionFunc/hashFiles/package.json   resolved by v2.334.0 version
#	src/Misc/externals.sh
#	src/Runner.Common/Constants.cs
#	src/Runner.Common/Runner.Common.csproj
#	src/Runner.Listener/Runner.Listener.csproj
#	src/Runner.Sdk/Runner.Sdk.csproj
#	src/Runner.Worker/ActionManager.cs
#	src/Runner.Worker/InternalsVisibleTo.cs
#	src/Runner.Worker/Runner.Worker.csproj
#	src/Sdk/Sdk.csproj
#	src/Sdk/WorkflowParser/WorkflowFeatures.cs
#	src/dev.sh
#	src/global.json
#	src/runnerversion
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.

5 participants