You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #69 (CI validating real activity code). Unlike most of coder_dojo_common, the Kenney asset installer is a self-contained utility that doesn't need an external activity sheet to test meaningfully — it can be smoke-tested on its own.
The CLI entry point is kenney-assets (coder_dojo_common.cli:kenney), with two subcommands:
kenney-assets query — lists assets and download/install state (coder_dojo_common/cli.py)
kenney-assets install <ASSET_NAME> — downloads (if not cached) and extracts the asset zip into ./assets/<ASSET_NAME>/ (coder_dojo_common/cli.py, backed by KenneyAssets/get_assets/get_download_link in coder_dojo_common/kenney_assets.py)
Task
Add a CI job (GitHub Actions) that:
Installs the package (poetry install, as the other workflows already do)
Picks one small, stable Kenney asset (small file size, unlikely to be renamed/removed from kenney.nl) and runs kenney-assets install <ASSET_NAME> against it
Asserts the install succeeded: assets/<ASSET_NAME>/ exists and is non-empty (e.g. contains at least one extracted file)
Optionally also runs kenney-assets query and checks it exits cleanly and lists the asset
Notes / open questions
This hits the live kenney.nl site, so the job will be a bit network-flaky by nature — decide whether to continue-on-error or just accept occasional retries, and pick the smallest/most stable asset available to minimise both download time and risk of it disappearing
Could run this as its own workflow or as an extra job in on-pr-lint.yml — probably worth keeping separate so a flaky network hit doesn't block unrelated lint failures
Context
Part of #69 (CI validating real activity code). Unlike most of
coder_dojo_common, the Kenney asset installer is a self-contained utility that doesn't need an external activity sheet to test meaningfully — it can be smoke-tested on its own.The CLI entry point is
kenney-assets(coder_dojo_common.cli:kenney), with two subcommands:kenney-assets query— lists assets and download/install state (coder_dojo_common/cli.py)kenney-assets install <ASSET_NAME>— downloads (if not cached) and extracts the asset zip into./assets/<ASSET_NAME>/(coder_dojo_common/cli.py, backed byKenneyAssets/get_assets/get_download_linkincoder_dojo_common/kenney_assets.py)Task
Add a CI job (GitHub Actions) that:
poetry install, as the other workflows already do)kenney-assets install <ASSET_NAME>against itassets/<ASSET_NAME>/exists and is non-empty (e.g. contains at least one extracted file)kenney-assets queryand checks it exits cleanly and lists the assetNotes / open questions
continue-on-erroror just accept occasional retries, and pick the smallest/most stable asset available to minimise both download time and risk of it disappearingon-pr-lint.yml— probably worth keeping separate so a flaky network hit doesn't block unrelated lint failures