canonical / canonical/craft-application
Craft-application should include a schema JSON and a CI job to check the schema.
- Dominant language
- Python
- Stars
- 14
- Forks
- 29
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 12
Description
### What needs to get done
We should include an upstream version of the [schema generator](https://github.com/canonical/rockcraft/blob/main/tools/schema/schema.py) and a [Schema validator/diff checker](https://github.com/canonical/rockcraft/blob/main/.github/workflows/schema.yaml) CI job in craft-application.
### Why it needs to get done
We should know when a change is going to affect applications' schemas so we can include that fact in the changelog. While this might not cover every possible case, doing it will still improve things significantly.
Perhaps we could generate separate schema files for all of our fakecrafts (testcraft, partitioncraft, platformcraft, witchcraft) to test more scenarios where the schema could change.
Contributor guide
Research direction
Start by comparing the upstream tools/schema/schema.py generator with the .github/workflows/schema.yaml validator and diff checker linked in the issue. Identify where their equivalents belong in craft-application and whether separate schemas can be generated for testcraft, partitioncraft, platformcraft, and witchcraft. Done means the schema JSON and CI check are present and schema-affecting changes are detectable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100