Tags: tianku1985/asu
Tags
build: deterministic package order The order of packages handed over to the ImageBuilder isn't stable when using `diff_packages`, sort the packages afterwards to be deterministic. This recently introduced a reproducibility issues where packages are in different order, resulting packages to be sometimes installed as dependencies (Auto-Install in OPKG) and sometimes not. Signed-off-by: Paul Spooren <[email protected]>
api: Fixup double default of CACHE_PATH This was previously only fixed for the legacy API, fix it for v1, too. Signed-off-by: Paul Spooren <[email protected]>
api: fix double defaulting of cache_path Set `cache_path` only if it's actually defined, setting it to `None` will result the next default to take `None` as the actual value, instead of defaulting to `Path.pwd()`. Signed-off-by: Paul Spooren <[email protected]>
stats: add extra package installs Store how may non default packages were installed. While at it run code linter and clean some dead code. Signed-off-by: Paul Spooren <[email protected]>
api: provide /metrics for prometheus export Instead of inventing a new stats API, use a Prometheus compatible backend. This commits removes all /api/v1/stats calls and instead provides everything interesting over at /metrics. A single metric `builds` is provided with a bunch of tags. Those tags can be used to create graphs describing which branch/version/profile etc was build. While at it, switch testing to use a sync build queue, meaning jobs will actually run and don't just end up in a "202 ACCEPTED" state. No longer validate outgoing messages except during testing to speed up the server. Signed-off-by: Paul Spooren <[email protected]>
CI: Store Python version as String Else YAML will read Python 3.10 as Python 3.1. Signed-off-by: Paul Spooren <[email protected]>
CI: use latest Docker build-and-push action * This makes tagging much more complex but why not. * Format the CI file to be more consistent with other actions. * Run pipeline on tags starting with `v` as well. Signed-off-by: Paul Spooren <[email protected]>
docker: simplify docker-compose And also make it compatible with podman-compose. Host it by default on port 8080 which can run without root privs. Add missing copy of config.py to README. Add missing env variable for Redis host. Signed-off-by: Paul Spooren <[email protected]>
api: prefer profile directly over mapped one Within OpenWrt the profile does not always matches the `board_name`, which is determined via device tree files. As a workaround ASU automatically parsed the "supported" devices and mapped incomming requests to profiles. In some rare cases (openwrt#319) the support profile is actually a different profile than the one installed, in this case a device that support images with and without nand storage. To fix this, first check if a profile with the device tree model exists (by replacing `,` with `_`) and only use the *supported mapping* if it does not. Fixes: openwrt#319 Signed-off-by: Paul Spooren <[email protected]>
black: apply style to tests Signed-off-by: Paul Spooren <[email protected]>
PreviousNext