Repository navigation
chore(deps): update compat-test-targets to v0.9.0 - #1075
Conversation
2755856 to
6249ba8
Compare
| env: | ||
| CI: true | ||
| # renovate: datasource=github-releases depName=jumpstarter-dev/jumpstarter | ||
| COMPAT_CONTROLLER_TAG: v0.8.1 |
There was a problem hiding this comment.
this one needs to remain v0.8.1
There was a problem hiding this comment.
this was wrong, shouldnt this just be 0.9.x ? and same for the client?
| COMPAT_SCENARIO="${COMPAT_SCENARIO:-old-controller}" | ||
| # renovate: datasource=github-releases depName=jumpstarter-dev/jumpstarter | ||
| COMPAT_CONTROLLER_TAG="${COMPAT_CONTROLLER_TAG:-v0.8.1}" | ||
| COMPAT_CONTROLLER_TAG="${COMPAT_CONTROLLER_TAG:-v0.9.0}" |
| COMPAT_SCENARIO ?= old-controller | ||
| COMPAT_TEST ?= old-controller | ||
| # renovate: datasource=github-releases depName=jumpstarter-dev/jumpstarter | ||
| COMPAT_CONTROLLER_TAG ?= v0.8.1 |
mangelajo
left a comment
There was a problem hiding this comment.
controller should remain v0.8.1
|
@mangelajo I hope I am getting this right but I believe the intent here is correct. After releasing 0.9.0 the compat test pins should advance so the next dev cycle tests HEAD against the just-released version. However there is a problem with the PyPI side as there seems no release of 0.9.0 there. This PR therefore sets COMPAT_CLIENT_VERSION to 0.8.1 (latest on PyPI) rather than 0.9.0 So, in my view once 0.9.0 retrigger renovate and that should set COMPAT_CLIENT_VERSION and COMPAT_CONTROLLER_TAG to 0.9.0 I mean if we dont do this we would test the second oldest |
6249ba8 to
648aae0
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
648aae0 to
b9896c3
Compare
…PI packages (jumpstarter-dev#1110) ## Summary Renovate currently queries the official PyPI index for all `jumpstarter` packages, but jumpstarter packages are not always mirrored there. For example, `jumpstarter 0.9.0` is available at `https://pkg.jumpstarter.dev/simple/` but absent from PyPI (due to a release pipeline failure etc). ``` # official PyPI — tops out at 0.8.1 $ curl -s https://pypi.org/pypi/jumpstarter/json | python3 -c \ "import json,sys; print(sorted(json.load(sys.stdin)['releases'])[-3:])" ['0.7.4', '0.8.1'] # project index — has 0.9.0 $ curl -s https://pkg.jumpstarter.dev/simple/jumpstarter/ | grep -oP 'jumpstarter-[0-9][^".]*' jumpstarter-0.8.1 jumpstarter-0.9.0 ``` This caused PR jumpstarter-dev#1075 to pin `COMPAT_CLIENT_VERSION` at `0.8.1` instead of `0.9.0`, so the `old-client` compat test was validating HEAD against a client one release older than intended. ## Change Add a `packageRule` in `renovate.jsonc` that redirects all PyPI lookups for packages whose name contains `"jumpstarter"` to the project-owned index: ```json { "matchDatasources": ["pypi"], "matchDepNames": ["/jumpstarter/"], "registryUrls": ["https://pkg.jumpstarter.dev/simple/"] } ``` **Why regex (`"/jumpstarter/"`) instead of an exact-string list?** The jumpstarter workspace contains 50+ packages (`jumpstarter`, `jumpstarter-cli`, `jumpstarter-driver-*`, `jumpstarter-kubernetes`, `jumpstarter-mcp`, `jumpstarter-protocol`, `jumpstarter-testing`, `hatch-pin-jumpstarter`, …). A plain `matchDepNames` list would need updating every time a new package is added. The regex form matches any dep name that contains the word `jumpstarter`, covering the entire ecosystem — including `hatch-pin-jumpstarter` — with a single, self-maintaining entry. The `matchDatasources: ["pypi"]` guard ensures the rule only fires for PyPI lookups and does not affect GitHub-releases or other datasources. This follows the same `matchDatasources` + `matchDepNames` + `registryUrls` pattern already used for the Dex helm chart at line ~469. ## Result Once this lands, close PR jumpstarter-dev#1075. On Renovate's next run it will find `0.9.0` on `pkg.jumpstarter.dev` and open a replacement PR bumping both compat pins correctly: - `COMPAT_CONTROLLER_TAG: v0.8.1 → v0.9.0` - `COMPAT_CLIENT_VERSION: 0.7.4 → 0.9.0` ## Test plan - [ ] Verify `grep -A 10 "pkg.jumpstarter.dev" renovate.jsonc` shows the new rule - [ ] After merge, trigger a Renovate run and confirm the new compat-test PR proposes `COMPAT_CLIENT_VERSION = 0.9.0` - [ ] Close PR jumpstarter-dev#1075 (superseded) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
jumpstarter-cli==0.9.0 is available on pkg.jumpstarter.dev but not yet on PyPI, causing the compat-old-client merge queue job to fail. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This PR contains the following updates:
0.7.4→0.9.0v0.8.1→v0.9.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
jumpstarter-dev/jumpstarter (jumpstarter-dev/jumpstarter)
v0.9.0Compare Source
What's New
Installation & Deployment
INSTALL_DIRandVENV_DIRcan now be set via environment variables for greater flexibility.Lifecycle & Admin Management
beforeLeaseandafterLeasehooks to enable automated device initialization, firmware flashing, and hardware cleanup. Jumpstarter hooks support custom interpreters (e.g., Python, shell), real-time log streaming, and configurable failure handling (warn,endLease,exit).spec.enabledboolean field on the Exporter CRD allows administrators to mark exporters as disabled without deleting them. Disabled exporters are excluded from lease scheduling by default; the--allow-disabledCLI flag (orspec.allowDisabledon Lease) permits investigation of disabled exporters when needed.deprecatedLabelsin the Jumpstarter config to mark label keys as deprecated. When clients use deprecated labels in lease or exporter queries, they receive warning messages with the configured migration guidance.Drivers & Capabilities
This release introduces 9 new driver packages and significant updates across the existing driver ecosystem:
Android ADB & Emulator drivers (
jumpstarter-driver-android): Enables Android device testing through ADB tunneling and emulator lifecycle management. The ADB driver provides seamless tunneling of ADB connections to remote devices, while the emulator driver handles full emulator lifecycle (start, stop, snapshot) with integrated ADB tunneling for CI/CD workflows.DUT Network Isolation driver (
jumpstarter-driver-dut-network): Provides full network isolation of devices under test. Creates an isolated bridge network with DHCP and DNS services via dnsmasq, IP aliasing for address management, a local NTP responder, egress and ingress traffic filtering rules, and live tcpdump streaming for packet capture and debugging.mitmproxy driver (
jumpstarter-driver-mitmproxy): Adds HTTP and HTTPS interception capabilities for testing. Supports backend mocking to simulate API responses, traffic recording for replay and analysis, and passthrough mode for selective interception. Useful for testing network-dependent applications without relying on live services.NOYITO Relay driver (
jumpstarter-driver-noyito-relay): Power control driver for NOYITO USB relay boards. Provides a simple and affordable way to control device power using commodity USB relay hardware, implementing the standard Jumpstarter power interface for on/off/cycle operations.OBD-II driver (
jumpstarter-driver-obd): Vehicle diagnostics driver using the OBD-II protocol via ELM327 adapters. Allows reading diagnostic trouble codes, live sensor data, and vehicle information for automotive testing and validation workflows.Renode driver (
jumpstarter-driver-renode): Integration with the Renode embedded systems emulator. Enables simulation of microcontroller targets for testing firmware without physical hardware, supporting serial communication, power control, and machine management within Jumpstarter exporters.SOME/IP driver (
jumpstarter-driver-someip): Wraps the opensomeip Python binding to provide SOME/IP (Scalable service-Oriented MiddlewarE over IP) protocol operations. Supports both Service Discovery-based and static remote endpoint configurations for automotive middleware testing.SSH Mount driver (
jumpstarter-driver-ssh-mount): Enables remote filesystem mounting over SSH using SSHFS. Allows mounting directories from devices under test or from test infrastructure, simplifying file transfer and log collection during testing.ST-LINK MSD driver (
jumpstarter-driver-stlink-msd): Firmware flashing driver for STM32 boards via the ST-LINK mass storage device interface. Provides a simple drag-and-drop style flashing mechanism for STM32 microcontrollers without requiring additional tooling.OCI credential model: A new OciCredentials model and hardened credential resolution make flashing from private registries more reliable.
Developer Experience & CLI
jmp shellnow exposesJMP_EXPORTER,JMP_LEASE, andJMP_EXPORTER_LABELSenvironment variables for scripting convenience.~/.config/jumpstarter, reducing boilerplate.--insecureoption for simpler configuration.jmp get exportersoutput by default. Pass--show-hidden-labelsto reveal them. Useful for keeping operational metadata out of the default label display.--insecure-tlsin config creation: Thejmp admin create-client-configandjmp admin create-exporter-configcommands now accept--insecure-tlsto embed the TLS skip setting directly into the generated config file.Security & Authentication
Stability & Observability
jmp shellwhen the connection to the controller is lost.Project & Process
Driver Updates
The table below summarizes driver-level changes in v0.9.0.
Status = New driverindicates the package was added during the 0.9 release cycle.androiddut-networkmitmproxynoyito-relayobdrenodesomeipssh-mountst-linkbledutlinkreset()andclose()esp32flashersgpiohttp-poweriscsinetworkopendalpyserialqemusdwireshellsomeipOperator / Controller Changes
enabledfield to Exporter CRD andallowDisabledto Lease CRD (JEP-0014 Phase 1)hiddenLabelsanddeprecatedLabelsconfig sections with filtering in client serviceInstallation
Install via the Jumpstarter Operator:
Documentation
Contributors
We would like to thank all our contributors, with a special shout-out to new contributors in this release:
Full Changelog
v0.8.1..v0.9.0-rc.1
b21e5912)505e3dd2)0fe8ed70)a08cb9fa)4a10a94b)933f5337)fba1b25d)647aff95)c043a331)d6cad897)6d062ec7)b39a904b)e3fb3826)0d055197)f8c71162)c2bbf3f6)6e75343d)99dd5021)558584e1)402785b7)b9907977)c562cf2d)9fdd1ad3)042ef521)b37e463c)331f665e)e1b64f9d)76755c62)75b75373)3d5ffa7e)e044198a)88966719)2264a0d2)f400b218)88b9c4fa)b4bd9806)d7a65e02)f473ede1)46de464c)31d9cf3a)e8e97319)7d06f2e7)4ba92e88)fcbbfbfa)a64be234)aaf98be5)1c0a3d92)74794de3)f92ac89f)bdb69e9d)4a61fe5b)d3a4a968)f0ba0c1d)d6ffbf38)82559668)49576004)7a174e78)96aa730b)b19d6327)9a812c15)947d4b99)82e91875)abd5d919)e6a75404)7159a21a)fab3f062)509db8d0)6a510dab)7864f393)75ef6843)38a6f72a)e8362558)00bf16fc)8e3ccb74)a258f02b)26094726)abfaebab)288da40c)72e0ed8a)1d056d3d)ea9a9f49)0c3d504d)a0dbedbc)954095f3)04891f62)e7371292)63425f95)c22dfe8a)eedff884)28e4a599)7a765052)12a99ae7)4e27c7ea)ae354e5e)6b284332)16527330)a01296b8)5c87e0c1)92e98f4f)7c67bd0c)33ad352f)fbf73a69)e914a829)616a4014)d706fa73)9c3e7e05)ad6f91b7)c07c4707)54e3385c)fa2f5763)e654084d)c1413322)99c3cfed)e798cd04)9b574664)3ed3c3f0)00bf61a9)04b5b7b4)536ef4ac)8f79b678)4e22dfff)e60a3d7b)eec0278c)1cebbd0e)c88b979f)a1477390)24473f34)ffd9cc1d)590da7b4)8597d199)2d748d07)d074b997)e7bc41c9)a235026f)c6b0748f)861e6819)16511650)96a6c7b8)a3bcb14c)51971c26)c7c0ec96)85542630)4a5d98ea)86c308e0)b38ff9ac)8cc61e1e)f9d6f934)c29eece3)a899a449)96710823)70a5e3e1)26aee227)78777b5a)28bc684b)Changes from v0.9.0-rc.1 to v0.9.0
Configuration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.