Skip to content

Commit e5965b2

Browse files
committed
build: cleanup KDIR_TMP after each build
Clean the KDIR_TMP folder after each build since it stores every image ever created. Also run isort and black. Signed-off-by: Paul Spooren <[email protected]>
1 parent 05e8ec2 commit e5965b2

File tree

7 files changed

+50
-4
lines changed

7 files changed

+50
-4
lines changed

asu/build.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@
99
import requests
1010
from rq import get_current_job
1111

12-
from .common import (fingerprint_pubkey_usign, get_file_hash,
13-
get_packages_hash, verify_usign)
12+
from .common import (
13+
fingerprint_pubkey_usign,
14+
get_file_hash,
15+
get_packages_hash,
16+
verify_usign,
17+
)
1418

1519
log = logging.getLogger("rq.worker")
1620
log.setLevel(logging.DEBUG)
@@ -338,6 +342,24 @@ def download_file(filename: str, dest: str = None):
338342
if "is too big" in image_build.stderr:
339343
report_error("Selected packages exceed device storage")
340344

345+
kernel_build_dir_run = subprocess.run(
346+
["make", "val.KERNEL_BUILD_DIR"],
347+
text=True,
348+
cwd=cache_workdir,
349+
capture_output=True,
350+
)
351+
352+
if kernel_build_dir_run.returncode:
353+
report_error("Couldn't determine KERNEL_BUILD_DIR")
354+
355+
kernel_build_dir_tmp = Path(kernel_build_dir_run.stdout.strip()) / "tmp"
356+
357+
if kernel_build_dir_tmp.exists():
358+
log.info("Removing KDIR_TMP at %s", kernel_build_dir_tmp)
359+
rmtree(kernel_build_dir_tmp)
360+
else:
361+
log.warning("KDIR_TMP missing at %s", kernel_build_dir_tmp)
362+
341363
json_file = Path(req["store_path"] / bin_dir / "profiles.json")
342364

343365
if not json_file.is_file():

tests/test_api.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,3 +518,24 @@ def test_api_build_package_to_replace(client, upstream):
518518
)
519519
assert response.status == "200 OK"
520520
assert response.json.get("request_hash") == "8dd81d51057d322b46aa3739ccf4a8a6"
521+
522+
523+
def test_api_build_cleanup(app, upstream):
524+
client = app.test_client()
525+
response = client.post(
526+
"/api/v1/build",
527+
json=dict(
528+
version="TESTVERSION",
529+
target="testtarget/testsubtarget",
530+
profile="testprofile",
531+
packages=["test1", "test2"],
532+
filesystem="ext4",
533+
),
534+
)
535+
assert response.status == "200 OK"
536+
assert not (
537+
app.config["CACHE_PATH"]
538+
/ "cache/TESTVERSION/testtarget/testsubtarget"
539+
/ "pseudo_kernel_build_dir/tmp/"
540+
/ "fake_trash"
541+
).exists()

tests/upstream/snapshots/targets/testtarget/testsubtarget/openwrt-imagebuilder-testtarget-testsubtarget.Linux-x86_64/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ manifest:
99

1010
info:
1111
@cat ./openwrt-testtarget-testsubtarget-testprofile.info
12+
13+
val.KERNEL_BUILD_DIR:
14+
@echo "$$(pwd)/pseudo_kernel_build_dir/"

tests/upstream/snapshots/targets/testtarget/testsubtarget/openwrt-imagebuilder-testtarget-testsubtarget.Linux-x86_64/pseudo_kernel_build_dir/tmp/fake_trash

Whitespace-only changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f7a57262cde30d84db51d6db5b1eee16f5c0525e67f01dcbe10a9693e3c88fde *openwrt-imagebuilder-testtarget-testsubtarget.Linux-x86_64.tar.xz
1+
4e645577d934129a65d0f79cf55d90e1199f5ab90ab27803cefae8badc868599 *openwrt-imagebuilder-testtarget-testsubtarget.Linux-x86_64.tar.xz
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
untrusted comment: verify with testkey.pub
2-
RWRqylWEtrAZQ/BrgCkjQaOak7bVi7CWfwKbK/rKK39w4e0l7jL+D23xAZZXS3Qb/x6jwulK3lbuCU61etNGaLE2KxWfk1hY4QM=
2+
RWRqylWEtrAZQwwqVGXn0U/Q3nnrboIdIVK2aW7Q8JMN3pmCzHa8o5MppWUqMhxh/h2Dc/3WUjVtWgvfDGrR0tJJ/Wauy9r7QwM=

0 commit comments

Comments
 (0)