chore(deps): bump actions/checkout from 4 to 6 - #6
Merged
Conversation
Owner
|
@dependabot rebase |
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
Bot
force-pushed
the
dependabot/github_actions/actions/checkout-6
branch
from
January 24, 2026 06:29
95ecfbe to
54b4aef
Compare
|
This is a major version update. Please review before merging. |
ANcpLua
added a commit
that referenced
this pull request
Apr 21, 2026
…eral CodeRabbit #6: the three template headers hardcoded v1.40.0 directly. Replaced with `{{ params.semconv_version }}` so bumping semconv requires one edit (weaver.yaml) instead of four (three templates + weaver.yaml). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ANcpLua
added a commit
that referenced
this pull request
Apr 21, 2026
* chore(semconv): delete zero-caller C# outputs + scaffold Weaver migration
Dead code removal (per docs/contract-drift-architecture.md O-1/O-2):
- delete src/qyl.collector/Ingestion/OtlpAttributes.Utf8.g.cs (6923 LoC)
- delete src/qyl.instrumentation/Instrumentation/SemanticConventions.g.cs (~2600 LoC)
- delete src/qyl.instrumentation/Instrumentation/SemanticConventions.Utf8.g.cs (7555 LoC)
- strip the `csharp` + `csharpUtf8` targets + their ~125 LoC generator functions
from eng/semconv/generate-semconv.ts so future regenerates don't recreate them
- inline the five semconv keys (error.type / exception.*) in
ActivityExceptionTelemetry.cs since the only live consumer is three calls
Net: ~17,000 lines of unused generated code deleted, zero callers in src/,
0 errors / 13 warnings (unchanged). The facades under
src/qyl.contracts/Attributes/ remain the actually-consumed C# surface.
Weaver migration scaffold (not yet wired into the build):
- eng/semconv/templates/registry/qyl/{weaver.yaml,semconv.ts.j2}
- eng/semconv/registry-qyl/manifest.yaml
- .gitignore updates for .tools/ (local weaver binary + upstream clone)
and eng/semconv/out/ (template scratch)
The semconv.ts.j2 template proves the pipeline end-to-end: upstream v1.40.0
YAML registry → weaver → TS exports filtered by qyl's include_prefixes.
The rest of the template set (C# facades, TypeSpec, DuckDB SQL) is the
follow-up. Old generate-semconv.ts stays as-is until the Weaver templates
cover all three remaining outputs byte-close.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(semconv): wire Weaver end-to-end with SQL + TS templates, scripted
Two working Weaver-side templates prove the pipeline against upstream
semconv v1.40.0, emitting into eng/semconv/out/ (gitignored):
- promoted_columns.g.sql.j2 — DuckDB column list, parent-prefix grouped,
suffix-driven BIGINT/DOUBLE type inference, 31k lines matching current
column count and type distribution
- semconv.ts.j2 — TypeScript `export const` flat list, parent-prefix
comment groups matching the legacy shape (enum `as const` blocks still
TODO; current output covers attribute keys)
Two bootstrap scripts so the pipeline is runnable from any clone:
- bootstrap-weaver.sh — downloads Weaver v0.22.1 native binary +
clones open-telemetry/semantic-conventions@v1.40.0 into .tools/
- run-weaver.sh — invokes `weaver registry generate` with the correct
--registry / --templates paths and writes to eng/semconv/out/
Not yet in scope (partial PR #141, cutover to follow):
- NUKE target swap — GenerateSemconv still calls `npm run generate`
(the stripped-down generate-semconv.ts) for TSP / facades / SQL / TS.
The Weaver templates run side-by-side for diff verification.
- TypeSpec template (6842-line output with scalars + enum unions + models)
- 3 facade templates (GenAi/Db/McpAttributes) — need qyl-extensions.json
param loading + upstream-enum merging + cross-cutting attribute pull
- TS `as const` enum blocks — structural port of the existing TS
generator's enum extraction pass
Run locally: ./eng/semconv/bootstrap-weaver.sh && ./eng/semconv/run-weaver.sh
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(semconv): cutover to Weaver — delete TS generator, hand-maintain facades
Weaver now owns the generated semconv outputs for which qyl consumers exist:
- src/qyl.dashboard/src/lib/semconv.ts (TypeScript attribute keys)
- src/qyl.collector/Storage/promoted-columns.g.sql (DuckDB promoted cols)
Facades moved to hand-maintained source. The prior Jinja-port of three
facades (GenAi/Db/Mcp) would have required porting qyl-extensions.json's
propertyOverrides + upstream enum-merge + cross-cutting-attribute lookup
into MiniJinja — 3–4h of template engineering for 3 files totaling <600
LoC that rarely change. Hand-edit is simpler:
- src/qyl.contracts/Attributes/DbAttributes.cs (was .g.cs)
- src/qyl.contracts/Attributes/GenAiAttributes.cs (was .g.cs)
- src/qyl.contracts/Attributes/McpAttributes.cs (was .g.cs)
TS enum `as const` blocks dropped: the sole consumer
(src/qyl.dashboard/src/components/genai/ToolDefinitionsViewer.tsx)
imports only flat attribute keys (GEN_AI_TOOL_*), not the enum objects.
All 7 imports resolve against the new Weaver output; dashboard
typecheck clean against the semconv change.
TypeSpec output (core/specs/generated/semconv.g.tsp, 6842 lines) stays
pinned at v1.40.0 — no Weaver template yet, no regenerator. When OTel
bumps semconv, write the TSP Jinja template or port by hand.
Deleted:
- eng/semconv/generate-semconv.ts (921 LoC)
- eng/semconv/qyl-extensions.json (250 LoC config)
- eng/semconv/package.json / package-lock.json / tsconfig.json
- eng/semconv/CHANGELOG.md (upstream dependency tracker)
- eng/semconv/node_modules (gitignored)
NUKE `GenerateSemconv` now shells out to bootstrap-weaver.sh +
run-weaver.sh. SemconvInstall npm target removed entirely.
Net this commit: +754 / -4112 = -3,358 LoC. Plus the -22,005 LoC from
the previous commit on this branch gives the PR -25,363 LoC total for
the contract-drift cleanup + Weaver cutover.
Full solution build: 0 errors, 74 warnings (unchanged from main).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(semconv): cross-platform weaver bootstrap/run for Linux CI
Schema Drift failed on d1c49a4 because run-weaver.sh hardcoded the
macOS-arm64 weaver binary path. bootstrap already selected the right
release asset per arch; the runner now uses the matching path.
Darwin:arm64 / Darwin:x86_64 / Linux:x86_64 supported. Windows explicit
unsupported — qyl CI is Linux-only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(semconv): bootstrap-weaver.sh cross-platform too
Follow-up to 4a4f7c5 — also fix bootstrap.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat(semconv): TypeSpec template — Weaver owns all three semconv outputs
Ports the 6842-line semconv.g.tsp shape to a 165-line MiniJinja template:
- Common scalars (TraceId/SpanId/TokenCount/...) as a fixed prelude
- Keys namespace — alias-per-attribute grouped by root namespace
- Union types — one per enum-typed attribute (`*Value`) with members +
string fallback for unknown values
- Per-domain attribute models with @Encodedname + type-correct fields
TypeSpec reserved identifiers (namespace, enum, union, unknown, ...)
are backtick-escaped via a `safe()` macro. 0 compile errors on core/specs
npm run compile against the full qyl TypeSpec schema (18 unrelated
upstream warnings, pre-existing).
run-weaver.sh now installs into three final destinations:
- src/qyl.dashboard/src/lib/semconv.ts (1368 lines)
- src/qyl.collector/Storage/promoted-columns.g.sql (1369 lines)
- core/specs/generated/semconv.g.tsp (6953 lines)
`nuke GenerateSemconv` → bootstrap-weaver.sh + run-weaver.sh. The Weaver
migration is complete: the TS `generate-semconv.ts` stack (921 LoC +
qyl-extensions.json + npm + tsconfig + CHANGELOG + node_modules) is gone
and all three pipeline outputs flow through the Jinja templates.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(build): inline ContractGenerator attribute lists, drop qyl-extensions.json dep
Schema Drift CI failed on e0b44f3 because GenerateContracts still read
eng/semconv/qyl-extensions.json, which was deleted in the Weaver cutover
(d1c49a4). The JSON's only role for this generator was to supply the
per-facade attribute name lists; everything else (Source, Signals,
required-attrs, metrics) was already hard-coded in C#.
Inlined the 40 gen_ai and 12 db attribute names as `string[]` constants
at the top of ContractGenerator.cs. Dropped the LoadDomains + FindFacade
+ ExtractAttributes JsonDocument path (~80 LoC).
GenerateContracts target in BuildPipeline.cs no longer passes an
extensionsJsonPath. One less arg on the Generate() signature.
Bumping semconv = edit the two attribute arrays. No JSON parsing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(semconv): promoted-columns suffix checks use column name, not dotted attr
The suffix checks (_tokens / _count / _size / _duration / ...) ran against
the dotted attribute name. That only matches when the last semconv segment
has an underscore immediately before the suffix. Names like
`azure.cosmosdb.request.body.size` end with a bare `size` — the `_size`
check never fired, column fell through to VARCHAR.
Fix: compute the column name (`.` → `_`) first, run suffix checks against
the underscored form. Every attribute now has the bare suffix preceded by
an underscore, so the check works uniformly across all semconv prefixes.
Verified:
azure_cosmosdb_request_body_size BIGINT (was VARCHAR)
gen_ai_usage_input_tokens BIGINT
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(semconv): delete registry-qyl/manifest.yaml — include_prefixes single-source
CodeRabbit #4: include_prefixes was duplicated across registry-qyl/
manifest.yaml and templates/registry/qyl/weaver.yaml. The manifest.yaml
file isn't read by Weaver (Weaver uses the --registry flag directly
against the upstream clone); it was pure documentation that drifted.
Weaver's templates/registry/qyl/weaver.yaml is the single authoritative
location for params.include_prefixes. Deleted the duplicate manifest.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(semconv): template headers read version from params, not literal
CodeRabbit #6: the three template headers hardcoded v1.40.0 directly.
Replaced with `{{ params.semconv_version }}` so bumping semconv
requires one edit (weaver.yaml) instead of four (three templates +
weaver.yaml).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(semconv): bootstrap reads SEMCONV_TAG from weaver.yaml + quote weaver path
CodeRabbit #9 + #12 together:
- #12: SEMCONV_TAG was duplicated between bootstrap-weaver.sh (as
"v1.40.0") and templates/registry/qyl/weaver.yaml
(as `semconv_version: "1.40.0"`). Bumping semconv required editing
both. Bootstrap now sed-extracts the version from weaver.yaml as
the single source.
- #9: unquoted $(${WEAVER_DIR}/weaver-${WEAVER_ARCH}/weaver --version)
(SC2086) — quoted the command path.
Both touch bootstrap-weaver.sh; one commit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs(instrumentation): explain why ActivityExceptionTelemetry inlines semconv keys
CodeRabbit #7 suggested the five `private const string` keys should use
GenAiAttributes.*. The suggestion doesn't fit: error.type and the four
exception.* keys belong to the `error.*` / `exception.*` semconv prefixes,
not to the three namespaces qyl facades (gen_ai / db / mcp). Inlining is
correct; upgraded the comment so the next reviewer doesn't re-litigate.
Promote to ErrorAttributes / ExceptionAttributes facade in
src/qyl.contracts/Attributes/ the moment a second caller appears.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(semconv): drop the semconv.g.tsp bridge — imported but never referenced
The generated TypeSpec file pulled upstream semconv attribute keys into
qyl's TypeSpec namespace as typed `Keys.<Domain>.<field>` aliases +
per-attribute union/model declarations. main.tsp imported it, but grep
across all hand-written .tsp files found exactly one hit for
`Keys.` / `OTel.SemConv.` — in a comment. Zero typed references.
6953 lines of generated TypeSpec + 165 lines of Jinja template + a
pipeline stage, all for a feature nobody uses. The remaining Weaver
templates (semconv.ts, promoted-columns.g.sql) stay — those have live
consumers.
Deletes:
- core/specs/generated/semconv.g.tsp (6953 LoC)
- eng/semconv/templates/registry/qyl/semconv.g.tsp.j2 (165 LoC)
- import line + comment block in core/specs/main.tsp
- TSP stanza in run-weaver.sh + the TSP_DEST install line
- TSP template entry in weaver.yaml
TypeSpec compile still clean (0 errors, 18 unrelated upstream warnings).
qyl.slnx build still clean (0 errors).
If a consumer ever wants typed semconv identifiers in TypeSpec, the
template is trivially resurrectable from git history.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ANcpLua
pushed a commit
that referenced
this pull request
Jul 8, 2026
Scoped harvest #5 (Wilson/z-test automation gate) and #6 (content-addressed cache) against live qyl code. Both speculative -- no .NET consumer: - #5: every ratio is display-only (Sessions BounceRate/ErrorRate) or a config-fixed head-sampling probability; no measured proportion to bound. grep wilson|z-test|confidence|regression|canary -> 0 hits. - #6: the one repeated pure lookup (pricing) is already FrozenDictionary-cached; per-span paths have span-unique inputs (~0% hit rate). Sweep complete: 1 LANDED (#7 cost), 14 REF-ONLY. No dead code written. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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/checkout from 4 to 6.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
8e8c483Clarify v6 README (#2328)033fa0dAdd worktree support for persist-credentials includeIf (#2327)c2d88d3Update all references from v5 and v4 to v6 (#2314)1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)9f26565Update actions checkout to use node 24 (#2226)Dependabot 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 mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@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)