mirror of
https://github.com/esphome/esphome.git
synced 2025-10-12 23:03:46 +01:00
docs
This commit is contained in:
16
.github/workflows/ci.yml
vendored
16
.github/workflows/ci.yml
vendored
@@ -435,13 +435,10 @@ jobs:
|
||||
matrix:
|
||||
components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }}
|
||||
steps:
|
||||
- name: Free up disk space
|
||||
- name: Show disk space
|
||||
run: |
|
||||
echo "Disk space before cleanup:"
|
||||
echo "Available disk space:"
|
||||
df -h
|
||||
echo "Starting background cleanup process..."
|
||||
python3 -c "import os; os.fork() or os.execvp('sudo', ['sudo', 'rm', '-rf', '/usr/share/dotnet', '/usr/local/lib/android', '/opt/ghc', '/opt/hostedtoolcache/CodeQL'])"
|
||||
echo "Cleanup running in background, continuing with workflow..."
|
||||
|
||||
- name: List components
|
||||
run: echo ${{ matrix.components }}
|
||||
@@ -462,8 +459,13 @@ jobs:
|
||||
- name: Validate and compile components with intelligent grouping
|
||||
run: |
|
||||
. venv/bin/activate
|
||||
mkdir -p build_cache
|
||||
export PLATFORMIO_BUILD_CACHE_DIR=$PWD/build_cache
|
||||
# Use /mnt for build files (70GB available vs ~29GB on /)
|
||||
mkdir -p /mnt/build_cache
|
||||
export PLATFORMIO_BUILD_CACHE_DIR=/mnt/build_cache
|
||||
|
||||
# Also move test_build_components/build to /mnt
|
||||
mkdir -p /mnt/test_build_components_build
|
||||
ln -s /mnt/test_build_components_build tests/test_build_components/build
|
||||
|
||||
# Convert space-separated components to comma-separated for Python script
|
||||
components_csv=$(echo "${{ matrix.components }}" | tr ' ' ',')
|
||||
|
@@ -18,6 +18,7 @@ from __future__ import annotations
|
||||
import argparse
|
||||
from collections import defaultdict
|
||||
import hashlib
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -38,6 +39,20 @@ from script.analyze_component_buses import (
|
||||
from script.merge_component_configs import merge_component_configs
|
||||
|
||||
|
||||
def show_disk_space_if_ci(esphome_command: str) -> None:
|
||||
"""Show disk space usage if running in CI during compile.
|
||||
|
||||
Args:
|
||||
esphome_command: The esphome command being run (config/compile/clean)
|
||||
"""
|
||||
if os.environ.get("GITHUB_ACTIONS") and esphome_command == "compile":
|
||||
print("\n" + "=" * 80)
|
||||
print("Disk Space After Build:")
|
||||
print("=" * 80)
|
||||
subprocess.run(["df", "-h"], check=False)
|
||||
print("=" * 80 + "\n")
|
||||
|
||||
|
||||
def find_component_tests(
|
||||
components_dir: Path, component_pattern: str = "*"
|
||||
) -> dict[str, list[Path]]:
|
||||
@@ -200,6 +215,10 @@ def run_esphome_test(
|
||||
try:
|
||||
result = subprocess.run(cmd, check=False)
|
||||
success = result.returncode == 0
|
||||
|
||||
# Show disk space after build in CI during compile
|
||||
show_disk_space_if_ci(esphome_command)
|
||||
|
||||
if not success and not continue_on_fail:
|
||||
# Print command immediately for failed tests
|
||||
print(f"\n{'=' * 80}")
|
||||
@@ -309,6 +328,10 @@ def run_grouped_test(
|
||||
try:
|
||||
result = subprocess.run(cmd, check=False)
|
||||
success = result.returncode == 0
|
||||
|
||||
# Show disk space after build in CI during compile
|
||||
show_disk_space_if_ci(esphome_command)
|
||||
|
||||
if not success and not continue_on_fail:
|
||||
# Print command immediately for failed tests
|
||||
print(f"\n{'=' * 80}")
|
||||
|
Reference in New Issue
Block a user