Skip to content

Conversation

@raphaelcoeffic
Copy link
Member

@raphaelcoeffic raphaelcoeffic commented Aug 27, 2025

This PR adds a few neat features to simplify targets.json:

  • version constraints for targets based on semver module (replaces "exclude_targets").
  • automatic fetching of targets.json (still defaults to static file ./targets.json)
  • all commit SHAs can now be fetched using standard Git protocol based on go-git module.

This is implemented in a backward compatible way so that API clients don't have to change anything.

Each target can define some version constraints to express in which versions that target is supported:

{
  "description": "Jumper T15",
  "version_supported": ">= v2.10.1"
}

nightly release is now defined with sem_ver:

{
  "releases": {
    "nightly": { "sem_ver": "v3.0.0" }
  }
}

This means that nightly is considered to be "what will become v3.0.0", which means that we can exclude targets from nightly by using < 3, which won't have to be changed once v3 is released and nightly is moving towards higher releases.

Warning

Please note that when loading targets.json, exclude_targets attributes are overwritten with a new list computed with the new version constraints.

Simplifies greatly the definitions in `targets.json`. This is implemented in a backward compatible way to that API clients don't have to change anything.

Please note that when loading `targets.json`, `exclude_targets` attributes are overwritten with a new list computed with the new version constraints.

# Conflicts:
#	targets.json
@raphaelcoeffic raphaelcoeffic changed the title feat: use version constraints on targets rather than "exclude_targets" feat: improve and simplify targets.json Aug 30, 2025
@raphaelcoeffic raphaelcoeffic merged commit 6b75a3d into master Sep 6, 2025
4 checks passed
@raphaelcoeffic raphaelcoeffic deleted the semver-constraints branch September 6, 2025 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants