- name: Run integration tests
run: |
- sudo timeout -k 30 1h python3 -m pytest \
+ sudo --preserve-env \
+ timeout -k 30 1h python3 -m pytest \
--tb=no \
--capture=no \
--verbose \
# SPDX-License-Identifier: LGPL-2.1+
+import contextlib
import os
import subprocess
import sys
if pytestconfig.getoption("capture") == "no":
capmanager.resume_global_capture()
+
+
+@contextlib.contextmanager
+def ci_group(s: str) -> Iterator[None]:
+ github_actions = os.getenv("GITHUB_ACTIONS")
+ if github_actions:
+ print(f"\n::group::{s}", flush=True)
+ try:
+ yield
+ finally:
+ if github_actions:
+ print("\n::endgroup::", flush=True)
# SPDX-License-Identifier: LGPL-2.1+
+from collections.abc import Iterator
from typing import Any, cast
import pytest
from mkosi.config import parse_config
from mkosi.distributions import Distribution, detect_distribution
-from . import Image
+from . import Image, ci_group
def pytest_addoption(parser: Any) -> None:
tools_tree_distribution=cast(Distribution, request.config.getoption("--tools-tree-distribution")),
debug_shell=request.config.getoption("--debug-shell"),
)
+
+
+@pytest.fixture(autouse=True)
+def ci_sections(request: Any) -> Iterator[None]:
+ with ci_group(request.node.name):
+ yield
import time
from collections.abc import Iterator
from pathlib import Path
+from typing import Any
import pytest
from mkosi.user import INVOKING_USER
from mkosi.versioncomp import GenericVersion
-from . import Image
+from . import Image, ci_group
pytestmark = pytest.mark.integration
@pytest.fixture(scope="module")
-def initrd(config: Image.Config) -> Iterator[Image]:
- with Image(
- config,
- options=[
- "--directory", "",
- "--include=mkosi-initrd/",
- ],
- ) as initrd:
+def initrd(request: Any, config: Image.Config) -> Iterator[Image]:
+ with (
+ ci_group(f"Initrd image {config.distribution}/{config.release}"),
+ Image(
+ config,
+ options=[
+ "--directory", "",
+ "--include=mkosi-initrd/",
+ ],
+ ) as initrd
+ ):
if initrd.config.distribution == Distribution.rhel_ubi:
pytest.skip("Cannot build RHEL-UBI initrds")