{{ message }}
Repository navigation
chore(deps): update actions/setup-node action to v7 - #409
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
3 times, most recently
from
July 21, 2026 04:52
7bc88cd to
08b19da
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
4 times, most recently
from
July 24, 2026 16:58
05bc779 to
01987af
Compare
jonathannorris
approved these changes
Jul 27, 2026
jonathannorris
enabled auto-merge (squash)
July 27, 2026 20:07
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
3 times, most recently
from
August 8, 2026 20:24
ba83544 to
2abc146
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
from
August 24, 2026 12:43
2abc146 to
c62c364
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
from
September 15, 2026 18:32
c62c364 to
3d7c39c
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
3 times, most recently
from
September 21, 2026 00:24
1f78a40 to
2fe1f91
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
2 times, most recently
from
September 26, 2026 12:39
4a2a8dd to
39eff5f
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
4 times, most recently
from
October 13, 2026 18:33
1cb9411 to
d9ca81a
Compare
toddbaert
pushed a commit
that referenced
this pull request
Oct 14, 2026
> **Part of [#417](#417 This PR is the **assets** — the files four conformance implementations execute. It stacks on [#440](#440), which configures the releases that give these assets a tag. The normative description of them, Appendix F, is [#439](#439), stacked on this. [#425](#425) adds the machine-readable report. > > This PR previously carried the appendix too. It was split so the assets can land while the prose is still being reviewed. ## What The artifacts a provider conformance suite runs against: | path | what it is | |---|---| | `assets/provider-tck/gherkin/` | six feature files — evaluation, errors, events, lifecycle, reason, metadata | | `assets/provider-tck/flags/canonical-flags.json` | the flag set every scenario assumes | | `assets/provider-tck/openapi/control-api.yaml` | the HTTP surface a backend under test must expose | | `assets/provider-tck/go.mod`, `embed.go` | a nested Go module exposing the artifacts as an `embed.FS` | | `release-please-config.json`, `.release-please-manifest.json` | registers the assets as a releasable component; the general setup is #440 | Marked **experimental**: the scenario set is a representative subset, and the capability vocabulary may still change. ## Why this is split out Four language implementations already run these files, and all four are currently pinned to an **unmerged branch tip**. Every rebase here invalidates them — it has happened three times in two weeks. Nothing about those pins becomes real until the assets are on `main` with a tag, so landing the executable half first is worth more than landing it together with prose that will take longer to review. Appendix F is the same work, reviewed on its own terms. ## Why a Go module is in here A Go module is distributed as a zip of the VCS tree, in which a git submodule is only a gitlink and its files are absent. The other three languages build from a working tree and keep using the submodule, but a Go suite would have to vendor a copy of every artifact and police it against drift. `embed.go` removes the copy: a consumer pins a revision, the checksum database makes it immutable, and the embedded bytes are the same bytes every other language reads out of the submodule. `go.mod` and `embed.go` are inert for every non-Go consumer. Precedent: `open-feature/flagd-schemas`. The release config tags the assets as their own component, `specification/assets/provider-tck/vX.Y.Z` — the shape `go get` needs. Without it a Go consumer can only name a pseudo-version. ## Releasing the assets The general release-please setup is [#440](#440), which this stacks on. What this PR adds is the part that describes *these* assets: a second package, so they are tagged `specification/assets/provider-tck/vX.Y.Z`. That tag shape is what `go get` needs. Without it a Go consumer can only name a pseudo-version, which is what the four conformance implementations have had to do while this branch was unmerged, and it has cost several rounds of re-pinning. The specification package sets `exclude-paths` for this directory, so an asset-only change no longer cuts a specification release, and `separate-pull-requests` keeps the two from sharing one release pull request. ## The capability vocabulary lives in the README, for now A scenario exercising an optional part of the contract carries a tag; a provider declares what it supports, and a scenario gated on an undeclared tag is reported **skipped, with the reason** — never as passed. A suite that quietly goes green on scenarios it did not run is worse than no suite at all. That rule and the tag table are in `assets/provider-tck/README.md` so the tags in the feature files are not left undefined while the appendix is in review. #439 moves them into the appendix and leaves a pointer behind, so they end up with one home rather than two that can disagree. Worth stating plainly: **withholding a tag is not an admission of a defect.** `@numeric-coercion` borrows its rule from flagd's coercion ADR, and `@string-typing` / `@fully-typed-values` sit on a question the specification does not answer at all — [#430](#430) and [#433](#433). ## Decisions worth reviewing - **`assets/provider-tck/` rather than beside the SDK Gherkin**, because `assets/gherkin/evaluation.feature` already exists and tests an SDK, not a provider. This answers #417's Q1 — the subdirectory is forced rather than chosen. - **`.gitattributes` normalises these to LF.** Four languages consume them byte for byte and copy them verbatim into published artifacts, so a Windows checkout must not package differently from a Linux one. - **`missing-flag` must not exist** in the flag set — its absence is what the `FLAG_NOT_FOUND` scenario tests. The other four load-bearing properties of the flag set are in the README; each one, if seeded wrong, turns a scenario green or red for the wrong reason in every language at once. - **No container restarts.** Outages are produced through the control API, because orchestrators reassign host ports on restart and every provider pointed at the old one then fails looking flaky. ## Implementations All four execute exactly these files, against flagd (both resolvers), OFREP and Flagsmith: | | suite | flagd | OFREP | Flagsmith | |---|---|---|---|---| | Java | [#1830](open-feature/java-sdk-contrib#1830) | [#1847](open-feature/java-sdk-contrib#1847) | [#1840](open-feature/java-sdk-contrib#1840) | [#1849](open-feature/java-sdk-contrib#1849) | | Go | [#940](open-feature/go-sdk-contrib#940) | [#941](open-feature/go-sdk-contrib#941) | [#942](open-feature/go-sdk-contrib#942) | [#959](open-feature/go-sdk-contrib#959) | | JavaScript | [#1606](open-feature/js-sdk-contrib#1606) | [#1608](open-feature/js-sdk-contrib#1608) | [#1612](open-feature/js-sdk-contrib#1612) | [#1623](open-feature/js-sdk-contrib#1623) | | Python | [#409](open-feature/python-sdk-contrib#409) | [#411](open-feature/python-sdk-contrib#411) | [#414](open-feature/python-sdk-contrib#414) | — | ## What running them has found - **flagd silently narrows a float flag to an integer**, Go and Java, both resolvers, no error code — [flagd#1996](open-feature/flagd#1996) - **flagd reported ready before flags were evaluable**, on 100% of starts — [flagd#2047](open-feature/flagd#2047), fixed in flagd v0.17.0 - **The Java SDK's `MultiProvider` swallows child provider events** — [java-sdk#1882](open-feature/java-sdk#1882) - **The Python flagd provider widens a boolean to a float** — [python-sdk-contrib#417](open-feature/python-sdk-contrib#417) - **The JavaScript Flagsmith provider stringifies unconditionally** where its other paths correctly report a mismatch — visible only because three languages ran identical scenarios against one backend - two specification gaps, raised rather than decided here: [#430](#430), [#433](#433) --------- Signed-off-by: Simon Schrottner <simon.schrottner@flagsmith.com>
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
2 times, most recently
from
October 16, 2026 12:31
ca2c48e to
703048a
Compare
renovate
Bot
force-pushed
the
renovate/actions-setup-node-7.x
branch
from
October 16, 2026 15:12
703048a to
9b989e3
Compare
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.

This PR contains the following updates:
v5→v7Release Notes
actions/setup-node
v7.1.0Compare Source
What's Changed
Enhancements:
Bug fixes:
Documentation updates:
Dependency updates:
New Contributors
Full Changelog: actions/setup-node@v7.0.0...v7.1.0
v7.0.0Compare Source
What's Changed
Enhancements:
Bug fixes:
mirrorTokeningetManifestif it's provided by @deiga in #1548Documentation updates:
Dependency update:
New Contributors
Full Changelog: actions/setup-node@v6...v7.0.0
v6.5.0Compare Source
What's Changed
Full Changelog: actions/setup-node@v6.4.0...v6.5.0
v6.4.0Compare Source
What's Changed
Dependency updates:
New Contributors
Full Changelog: actions/setup-node@v6...v6.4.0
v6.3.0Compare Source
What's Changed
Enhancements:
devEnginesfield by @susnux in #1283Dependency updates:
Bug fixes:
New Contributors
Full Changelog: actions/setup-node@v6...v6.3.0
v6.2.0Compare Source
What's Changed
Documentation
Dependency updates:
New Contributors
Full Changelog: actions/setup-node@v6...v6.2.0
v6.1.0Compare Source
What's Changed
Enhancement:
Dependency updates:
Documentation update:
Full Changelog: actions/setup-node@v6...v6.1.0
v6.0.0Compare Source
What's Changed
Breaking Changes
Dependency Upgrades
Full Changelog: actions/setup-node@v5...v6.0.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.