Skip to content

ci: pin Swatinem/rust-cache to v2.9.1 for release workflow compliance - #84

Merged
Vladyslav Nikonov (vnikonov-devolutions) merged 6 commits into
masterfrom
copilot/featpolicies-add-package-managers-to-api
Jul 27, 2026
Merged

ci: pin Swatinem/rust-cache to v2.9.1 for release workflow compliance#84
Vladyslav Nikonov (vnikonov-devolutions) merged 6 commits into
masterfrom
copilot/featpolicies-add-package-managers-to-api

Conversation

Copilot AI commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Create New Release was failing because the workflow policy blocks Swatinem/rust-cache@v2.8.2. This updates the cache action pin to the allowlisted v2.9.1 and aligns all repository references accordingly.

  • What changed

    • Updated .github/actions/setup-rust-cache/action.yml:
      • Swatinem/rust-cache@v2.8.2Swatinem/rust-cache@v2.9.1
  • Repository consistency

    • Searched workflow/action/docs paths for other Swatinem/rust-cache references and aligned all occurrences to v2.9.1 (no additional versioned references remained).
  • Snippet

    - name: Setup Rust cache
      uses: Swatinem/rust-cache@v2.9.1
      with:
        cache-targets: false

    (Same issue as in devolutions-gateway, PR: ci: pin Swatinem/rust-cache to v2.9.1 for release workflow compliance devolutions-gateway#1868)

Add Apt, Bun, Cargo, Chocolatey, Dnf, Dotnet, Flatpak, Homebrew, Npm,
Pacman, Pip, Scoop, Snap, and Vcpkg to the policy and broker API manager
enums (Rust and .NET), bump the broker API version to 1.1, and regenerate
the OpenAPI document and policy JSON schema.

Managers introduced in 1.1 are version-gated: ManagerName exposes its
minimum API version, CapabilitiesResponse gains manager support check
methods distinguishing a protocol-version gap from a missing capability,
and the .NET client refuses to send a too-new manager to an older broker
with a distinct UnsupportedApiVersion error kind.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
- Revert crate versions to 0.1.0 (managed by cargo-release) and fixture
  ServerVersion back to 0.1.0
- Add IncompatibleApiVersion to ManagerSupport (Rust + .NET) so a broker
  with a different major API version or malformed version is no longer
  misclassified as RequiresNewerApiVersion; client raises a distinct
  message for it
- Version the policy schema: bump canonical URI to
  now-policy.schema.1.1.json, keep accepting the 1.0 URI on read
  (Rust marker + .NET consts), default PolicyVersion to 1.1.0,
  regenerate schema JSON
- Strengthen version-gating test: old broker now advertises Chocolatey
  and the version gate still wins; add incompatible-major tests in both
  languages
- Reword 'broker speaks version' to 'broker advertises version'

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
A broker with a different major API version fails much earlier, when
parsing the response envelope, so classifying it per-manager is not
meaningful. Keep ManagerSupport focused on Supported /
RequiresNewerApiVersion / NotAdvertised in both Rust and .NET.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
We are not in a release state, so breaking version compatibility is
acceptable: the expanded manager set ships as part of the existing 1.0
contract. Removes the redundant versioning machinery:

- API_VERSION_STR / BrokerApi.Version back to 1.0 (fixtures included)
- Drop ManagerName::minimum_api_version / GetMinimumApiVersion,
  ApiVersion::supports / ApiVersionSupports and ManagerSupport
- Drop the BrokerClient protocol-version gate and
  BrokerClientErrorKind.UnsupportedApiVersion
- Policy schema URI and PolicyVersion defaults back to 1.0 / 1.0.0;
  regenerate schema and OpenAPI

Capability checking stays via CapabilitiesResponse::supports_manager /
manager_capability (SupportsManager / GetManagerCapability in .NET).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 27, 2026 19:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because there is no eligible user to bill. To allow Copilot reviews on bot-authored pull requests, enable direct organization billing in your organization's Copilot settings.

@vnikonov-devolutions
Vladyslav Nikonov (vnikonov-devolutions) merged commit 7157ff6 into master Jul 27, 2026
10 checks passed
@vnikonov-devolutions
Vladyslav Nikonov (vnikonov-devolutions) deleted the copilot/featpolicies-add-package-managers-to-api branch July 27, 2026 19:56
@vnikonov-devolutions

Copy link
Copy Markdown
Contributor

IMPORTANT: This branch accidentially had merged changes from #83
cc Benoît Cortier (@CBenoit) change log could be messed up 😢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants