Skip to content

Commit 6fa9873

Browse files
authored
feat: add new test management
1 parent 3fa1f5f commit 6fa9873

File tree

22 files changed

+447
-338
lines changed

22 files changed

+447
-338
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@ jobs:
4545
. .venv/bin/activate
4646
echo PATH=${GITHUB_WORKSPACE}/.venv/bin:$PATH >> $GITHUB_ENV
4747
48-
- name: Build and assemble
48+
- name: Run Tests
49+
run: |
50+
python3 -m pre_commit run --files builder/**/*.py
51+
52+
- name: Build
4953
run: |
5054
export PYTHONPATH=$(pwd)
51-
#python3 scripts/common/py/run_tests.py
5255
python3 scripts/multi_build.py
5356
5457
- name: Publish Artifacts
@@ -69,17 +72,17 @@ jobs:
6972
- name: Checkout
7073
uses: actions/checkout@v4
7174

72-
- name: Retrieve artifacts
75+
- name: Retrieve Artifacts
7376
uses: actions/download-artifact@v4
7477
with:
7578
name: build-artifacts
7679
path: "multi-build"
7780

78-
- name: Get current version
81+
- name: Get Current Version
7982
id: version
8083
run: echo "version=$(python3 scripts/common/py/get_version.py)" >> $GITHUB_OUTPUT
8184

82-
- name: Form a tag name
85+
- name: Form Tag
8386
id: tagname
8487
run: echo "tagname=v${{ steps.version.outputs.version }}" >> $GITHUB_OUTPUT
8588

.pre-commit-config.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
default_stages: [pre-commit]
2+
3+
repos:
4+
- repo: local
5+
hooks:
6+
- id: ruff
7+
name: Ruff
8+
description: "Static analysts (SAST) via Ruff."
9+
entry: ruff check
10+
language: python
11+
types_or: [python]
12+
args: []
13+
require_serial: true
14+
additional_dependencies: []
15+
minimum_pre_commit_version: "2.9.2"
16+
17+
- id: pyright
18+
name: Pyright
19+
description: "Static typing check via Pyright."
20+
entry: pyright
21+
language: python
22+
types_or: [python]
23+
require_serial: true
24+
additional_dependencies: []
25+
minimum_pre_commit_version: "2.9.2"
26+
27+
- id: pytest
28+
name: Pytest
29+
pass_filenames: false
30+
description: "Unit testing via Pytest."
31+
entry: pytest
32+
language: python
33+
types_or: [python]
34+
require_serial: true
35+
additional_dependencies: []
36+
minimum_pre_commit_version: "2.9.2"

builder/__main__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from pathlib import Path
77
from importlib.metadata import version
88

9-
from builder.tools import cleaning as cm, commands as ccmd
9+
from builder.tools import cleaning as cm, commands as ccmd, Logger as logger
1010
from builder.configs import ArgumentConfig, DirectoryConfig as dcfg
1111
from builder.engines import GenericContainerEngine
1212
from builder.commands import KernelCommand, AssetsCommand, BundleCommand
@@ -238,6 +238,8 @@ def parse_args() -> argparse.Namespace:
238238

239239

240240
def main(args: argparse.Namespace) -> None:
241+
# initialize the logger in memory
242+
_ = logger().get_logger() # type: ignore
241243
# start preparing the environment
242244
os.chdir(dcfg.root)
243245
if args.clean_root:
@@ -296,6 +298,6 @@ def main(args: argparse.Namespace) -> None:
296298

297299

298300
if __name__ == "__main__":
299-
# for prints to show in the right order in various build / CI/CD systems
301+
# for logs to show in the right order in various build / CI/CD systems
300302
sys.stdout = io.TextIOWrapper(open(sys.stdout.fileno(), "wb", 0), write_through=True)
301303
main(parse_args())

builder/clients/github.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import sys
33
import shutil
4+
import logging
45
import requests
56
from pathlib import Path
67
from typing import Optional
@@ -10,7 +11,7 @@
1011
from builder.configs import DirectoryConfig as dcfg
1112

1213

13-
log = Logger().get_logger()
14+
log = logging.getLogger("ZeroKernelLogger")
1415

1516

1617
class GithubApiClient(BaseModel):

builder/clients/rom_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import requests
2+
import logging
23
from pydantic import BaseModel
34

45
from builder.tools import Logger
56
from builder.interfaces import IRomApiClient
67

78

8-
log = Logger().get_logger()
9+
log = logging.getLogger("ZeroKernelLogger")
910

1011

1112
class RomApiClient(BaseModel, IRomApiClient):

builder/commands/bundle.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import json
33
import shutil
4+
import logging
45
import itertools
56
from pathlib import Path
67
from pydantic import BaseModel
@@ -13,7 +14,7 @@
1314
from builder.interfaces import ICommand, IBundleCommand
1415

1516

16-
log = Logger().get_logger()
17+
log = logging.getLogger("ZeroKernelLogger")
1718

1819

1920
class BundleCommand(BaseModel, ICommand, IBundleCommand):

builder/configs/argument.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import sys
22
import json
3+
import logging
34
import platform
45
from pathlib import Path
56
from pydantic import BaseModel
@@ -8,7 +9,7 @@
89
from builder.tools import Logger, commands as ccmd
910

1011

11-
log = Logger().get_logger()
12+
log = logging.getLogger("ZeroKernelLogger")
1213

1314

1415
class ArgumentConfig(BaseModel):

builder/core/assets_collector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import sys
3+
import logging
34
from typing import Literal
45
from pydantic import BaseModel
56

@@ -9,7 +10,7 @@
910
from builder.interfaces import IAssetsCollector
1011

1112

12-
log = Logger().get_logger()
13+
log = logging.getLogger("ZeroKernelLogger")
1314

1415

1516
class AssetsCollector(BaseModel, IAssetsCollector):
@@ -124,7 +125,7 @@ def _check(self) -> None:
124125
os.chdir(dcfg.root)
125126
log.info("Done!")
126127
case "n":
127-
log.cancel("Cancelling asset download.")
128+
log.warning("Cancelling asset download.")
128129
case _:
129130
log.error("Invalid option selected.")
130131
sys.exit(1)

builder/core/kernel_builder.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import sys
33
import time
4+
import logging
45
from pathlib import Path
56
from typing import Optional
67
from pydantic import BaseModel
@@ -11,7 +12,7 @@
1112
from builder.interfaces import IKernelBuilder
1213

1314

14-
log = Logger().get_logger()
15+
log = logging.getLogger("ZeroKernelLogger")
1516

1617

1718
class KernelBuilder(BaseModel, IKernelBuilder):

builder/engines/generic_container.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import sys
33
import shutil
4+
import logging
45
from pathlib import Path
56
from pydantic import BaseModel
67
from typing import Optional, Literal
@@ -11,7 +12,7 @@
1112
from builder.interfaces import IGenericContainerEngine
1213

1314

14-
log = Logger().get_logger()
15+
log = logging.getLogger("ZeroKernelLogger")
1516

1617

1718
class GenericContainerEngine(BaseModel, IGenericContainerEngine):

0 commit comments

Comments
 (0)