chore(deps): update actions/setup-node action to v7 by renovate[bot] · Pull Request #409 · open-feature/spec · GitHub
Skip to content

chore(deps): update actions/setup-node action to v7 - #409

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/actions-setup-node-7.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/actions-setup-node-7.x

Conversation

@renovate

@renovate renovate Bot commented Jul 14, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
actions/setup-node action major v5 → v7

Release Notes

actions/setup-node

v7.1.0

Compare 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.0

Compare Source

What's Changed
Enhancements:
Bug fixes:
Documentation updates:
Dependency update:
New Contributors

Full Changelog: actions/setup-node@v6...v7.0.0

v6.5.0

Compare Source

What's Changed

Full Changelog: actions/setup-node@v6.4.0...v6.5.0

v6.4.0

Compare Source

What's Changed
Dependency updates:
New Contributors

Full Changelog: actions/setup-node@v6...v6.4.0

v6.3.0

Compare Source

What's Changed
Enhancements:

When using node-version-file: package.json, setup-node now prefers devEngines.runtime over engines.node.

Dependency updates:
Bug fixes:
New Contributors

Full Changelog: actions/setup-node@v6...v6.3.0

v6.2.0

Compare Source

What's Changed

Documentation
Dependency updates:

New Contributors

Full Changelog: actions/setup-node@v6...v6.2.0

v6.1.0

Compare Source

What's Changed
Enhancement:
Dependency updates:
Documentation update:

Full Changelog: actions/setup-node@v6...v6.1.0

v6.0.0

Compare Source

What's Changed

Breaking Changes

Dependency Upgrades

Full Changelog: actions/setup-node@v5...v6.0.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Jul 14, 2026
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 3 times, most recently from 7bc88cd to 08b19da Compare July 21, 2026 04:52
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 4 times, most recently from 05bc779 to 01987af Compare July 24, 2026 16:58
@jonathannorris
jonathannorris enabled auto-merge (squash) July 27, 2026 20:07
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 3 times, most recently from ba83544 to 2abc146 Compare August 8, 2026 20:24
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch from 2abc146 to c62c364 Compare August 24, 2026 12:43
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch from c62c364 to 3d7c39c Compare September 15, 2026 18:32
@coderabbitai

coderabbitai Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 3 times, most recently from 1f78a40 to 2fe1f91 Compare September 21, 2026 00:24
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 2 times, most recently from 4a2a8dd to 39eff5f Compare September 26, 2026 12:39
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 4 times, most recently from 1cb9411 to d9ca81a Compare October 13, 2026 18:33
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
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch 2 times, most recently from ca2c48e to 703048a Compare October 16, 2026 12:31
@renovate
renovate Bot force-pushed the renovate/actions-setup-node-7.x branch from 703048a to 9b989e3 Compare October 16, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant