diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df7a9178e1..30f35b5b81 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,298 +59,298 @@ jobs: pip install -r requirements.txt -r requirements_optional.txt -r requirements_test.txt pip install -e . - black: - name: Check black - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run black - run: | - . venv/bin/activate - black --verbose esphome tests - - name: Suggested changes - run: script/ci-suggest-changes - if: always() + # black: + # name: Check black + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run black + # run: | + # . venv/bin/activate + # black --verbose esphome tests + # - name: Suggested changes + # run: script/ci-suggest-changes + # if: always() - flake8: - name: Check flake8 - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run flake8 - run: | - . venv/bin/activate - flake8 esphome - - name: Suggested changes - run: script/ci-suggest-changes - if: always() + # flake8: + # name: Check flake8 + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run flake8 + # run: | + # . venv/bin/activate + # flake8 esphome + # - name: Suggested changes + # run: script/ci-suggest-changes + # if: always() - pylint: - name: Check pylint - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run pylint - run: | - . venv/bin/activate - pylint -f parseable --persistent=n esphome - - name: Suggested changes - run: script/ci-suggest-changes - if: always() + # pylint: + # name: Check pylint + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run pylint + # run: | + # . venv/bin/activate + # pylint -f parseable --persistent=n esphome + # - name: Suggested changes + # run: script/ci-suggest-changes + # if: always() - pyupgrade: - name: Check pyupgrade - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run pyupgrade - run: | - . venv/bin/activate - pyupgrade ${{ env.PYUPGRADE_TARGET }} `find esphome -name "*.py" -type f` - - name: Suggested changes - run: script/ci-suggest-changes - if: always() + # pyupgrade: + # name: Check pyupgrade + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run pyupgrade + # run: | + # . venv/bin/activate + # pyupgrade ${{ env.PYUPGRADE_TARGET }} `find esphome -name "*.py" -type f` + # - name: Suggested changes + # run: script/ci-suggest-changes + # if: always() - ci-custom: - name: Run script/ci-custom - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Register matcher - run: echo "::add-matcher::.github/workflows/matchers/ci-custom.json" - - name: Run script/ci-custom - run: | - . venv/bin/activate - script/ci-custom.py - script/build_codeowners.py --check + # ci-custom: + # name: Run script/ci-custom + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Register matcher + # run: echo "::add-matcher::.github/workflows/matchers/ci-custom.json" + # - name: Run script/ci-custom + # run: | + # . venv/bin/activate + # script/ci-custom.py + # script/build_codeowners.py --check - pytest: - name: Run pytest - strategy: - fail-fast: false - matrix: - python-version: - - "3.9" - - "3.10" - - "3.11" - - "3.12" - os: - - ubuntu-latest - - macOS-latest - - windows-latest - exclude: - # Minimize CI resource usage - # by only running the Python version - # version used for docker images on Windows and macOS - - python-version: "3.12" - os: windows-latest - - python-version: "3.10" - os: windows-latest - - python-version: "3.9" - os: windows-latest - - python-version: "3.12" - os: macOS-latest - - python-version: "3.10" - os: macOS-latest - - python-version: "3.9" - os: macOS-latest - runs-on: ${{ matrix.os }} - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ matrix.python-version }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Register matcher - run: echo "::add-matcher::.github/workflows/matchers/pytest.json" - - name: Run pytest - if: matrix.os == 'windows-latest' - run: | - ./venv/Scripts/activate - pytest -vv --cov-report=xml --tb=native tests - - name: Run pytest - if: matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' - run: | - . venv/bin/activate - pytest -vv --cov-report=xml --tb=native tests - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} + # pytest: + # name: Run pytest + # strategy: + # fail-fast: false + # matrix: + # python-version: + # - "3.9" + # - "3.10" + # - "3.11" + # - "3.12" + # os: + # - ubuntu-latest + # - macOS-latest + # - windows-latest + # exclude: + # # Minimize CI resource usage + # # by only running the Python version + # # version used for docker images on Windows and macOS + # - python-version: "3.12" + # os: windows-latest + # - python-version: "3.10" + # os: windows-latest + # - python-version: "3.9" + # os: windows-latest + # - python-version: "3.12" + # os: macOS-latest + # - python-version: "3.10" + # os: macOS-latest + # - python-version: "3.9" + # os: macOS-latest + # runs-on: ${{ matrix.os }} + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ matrix.python-version }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Register matcher + # run: echo "::add-matcher::.github/workflows/matchers/pytest.json" + # - name: Run pytest + # if: matrix.os == 'windows-latest' + # run: | + # ./venv/Scripts/activate + # pytest -vv --cov-report=xml --tb=native tests + # - name: Run pytest + # if: matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' + # run: | + # . venv/bin/activate + # pytest -vv --cov-report=xml --tb=native tests + # - name: Upload coverage to Codecov + # uses: codecov/codecov-action@v4 + # with: + # token: ${{ secrets.CODECOV_TOKEN }} - clang-format: - name: Check clang-format - runs-on: ubuntu-latest - needs: - - common - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Install clang-format - run: | - . venv/bin/activate - pip install clang-format -c requirements_dev.txt - - name: Run clang-format - run: | - . venv/bin/activate - script/clang-format -i - git diff-index --quiet HEAD -- - - name: Suggested changes - run: script/ci-suggest-changes - if: always() + # clang-format: + # name: Check clang-format + # runs-on: ubuntu-latest + # needs: + # - common + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Install clang-format + # run: | + # . venv/bin/activate + # pip install clang-format -c requirements_dev.txt + # - name: Run clang-format + # run: | + # . venv/bin/activate + # script/clang-format -i + # git diff-index --quiet HEAD -- + # - name: Suggested changes + # run: script/ci-suggest-changes + # if: always() - compile-tests-list: - runs-on: ubuntu-latest - outputs: - matrix: ${{ steps.set-matrix.outputs.matrix }} - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Find all YAML test files - id: set-matrix - run: echo "matrix=$(ls tests/test*.yaml | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT + # compile-tests-list: + # runs-on: ubuntu-latest + # outputs: + # matrix: ${{ steps.set-matrix.outputs.matrix }} + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Find all YAML test files + # id: set-matrix + # run: echo "matrix=$(ls tests/test*.yaml | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT - validate-tests: - name: Validate YAML test ${{ matrix.file }} - runs-on: ubuntu-latest - needs: - - common - - compile-tests-list - strategy: - fail-fast: false - matrix: - file: ${{ fromJson(needs.compile-tests-list.outputs.matrix) }} - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run esphome config ${{ matrix.file }} - run: | - . venv/bin/activate - esphome config ${{ matrix.file }} + # validate-tests: + # name: Validate YAML test ${{ matrix.file }} + # runs-on: ubuntu-latest + # needs: + # - common + # - compile-tests-list + # strategy: + # fail-fast: false + # matrix: + # file: ${{ fromJson(needs.compile-tests-list.outputs.matrix) }} + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run esphome config ${{ matrix.file }} + # run: | + # . venv/bin/activate + # esphome config ${{ matrix.file }} - compile-tests: - name: Run YAML test ${{ matrix.file }} - runs-on: ubuntu-latest - needs: - - common - - black - - ci-custom - - clang-format - - flake8 - - pylint - - pytest - - pyupgrade - - compile-tests-list - - validate-tests - strategy: - fail-fast: false - max-parallel: 2 - matrix: - file: ${{ fromJson(needs.compile-tests-list.outputs.matrix) }} - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Run esphome compile ${{ matrix.file }} - run: | - . venv/bin/activate - esphome compile ${{ matrix.file }} + # compile-tests: + # name: Run YAML test ${{ matrix.file }} + # runs-on: ubuntu-latest + # needs: + # - common + # - black + # - ci-custom + # - clang-format + # - flake8 + # - pylint + # - pytest + # - pyupgrade + # - compile-tests-list + # - validate-tests + # strategy: + # fail-fast: false + # max-parallel: 2 + # matrix: + # file: ${{ fromJson(needs.compile-tests-list.outputs.matrix) }} + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Run esphome compile ${{ matrix.file }} + # run: | + # . venv/bin/activate + # esphome compile ${{ matrix.file }} clang-tidy: name: ${{ matrix.name }} runs-on: ubuntu-latest needs: - common - - black - - ci-custom - - clang-format - - flake8 - - pylint - - pytest - - pyupgrade + # - black + # - ci-custom + # - clang-format + # - flake8 + # - pylint + # - pytest + # - pyupgrade strategy: fail-fast: false max-parallel: 2 matrix: include: - - id: clang-tidy - name: Run script/clang-tidy for ESP8266 - options: --environment esp8266-arduino-tidy --grep USE_ESP8266 - pio_cache_key: tidyesp8266 - - id: clang-tidy - name: Run script/clang-tidy for ESP32 Arduino 1/4 - options: --environment esp32-arduino-tidy --split-num 4 --split-at 1 - pio_cache_key: tidyesp32 - - id: clang-tidy - name: Run script/clang-tidy for ESP32 Arduino 2/4 - options: --environment esp32-arduino-tidy --split-num 4 --split-at 2 - pio_cache_key: tidyesp32 - - id: clang-tidy - name: Run script/clang-tidy for ESP32 Arduino 3/4 - options: --environment esp32-arduino-tidy --split-num 4 --split-at 3 - pio_cache_key: tidyesp32 - - id: clang-tidy - name: Run script/clang-tidy for ESP32 Arduino 4/4 - options: --environment esp32-arduino-tidy --split-num 4 --split-at 4 - pio_cache_key: tidyesp32 + # - id: clang-tidy + # name: Run script/clang-tidy for ESP8266 + # options: --environment esp8266-arduino-tidy --grep USE_ESP8266 + # pio_cache_key: tidyesp8266 + # - id: clang-tidy + # name: Run script/clang-tidy for ESP32 Arduino 1/4 + # options: --environment esp32-arduino-tidy --split-num 4 --split-at 1 + # pio_cache_key: tidyesp32 + # - id: clang-tidy + # name: Run script/clang-tidy for ESP32 Arduino 2/4 + # options: --environment esp32-arduino-tidy --split-num 4 --split-at 2 + # pio_cache_key: tidyesp32 + # - id: clang-tidy + # name: Run script/clang-tidy for ESP32 Arduino 3/4 + # options: --environment esp32-arduino-tidy --split-num 4 --split-at 3 + # pio_cache_key: tidyesp32 + # - id: clang-tidy + # name: Run script/clang-tidy for ESP32 Arduino 4/4 + # options: --environment esp32-arduino-tidy --split-num 4 --split-at 4 + # pio_cache_key: tidyesp32 - id: clang-tidy name: Run script/clang-tidy for ESP32 IDF options: --environment esp32-idf-tidy --grep USE_ESP_IDF @@ -407,164 +407,164 @@ jobs: # yamllint disable-line rule:line-length if: always() - list-components: - runs-on: ubuntu-latest - needs: - - common - if: github.event_name == 'pull_request' - outputs: - components: ${{ steps.list-components.outputs.components }} - count: ${{ steps.list-components.outputs.count }} - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - with: - # Fetch enough history so `git merge-base refs/remotes/origin/dev HEAD` works. - fetch-depth: 500 - - name: Get target branch - id: target-branch - run: | - echo "branch=${{ github.event.pull_request.base.ref }}" >> $GITHUB_OUTPUT - - name: Fetch ${{ steps.target-branch.outputs.branch }} branch - run: | - git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +refs/heads/${{ steps.target-branch.outputs.branch }}:refs/remotes/origin/${{ steps.target-branch.outputs.branch }} - git merge-base refs/remotes/origin/${{ steps.target-branch.outputs.branch }} HEAD - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Find changed components - id: list-components - run: | - . venv/bin/activate - components=$(script/list-components.py --changed --branch ${{ steps.target-branch.outputs.branch }}) - output_components=$(echo "$components" | jq -R -s -c 'split("\n")[:-1] | map(select(length > 0))') - count=$(echo "$output_components" | jq length) + # list-components: + # runs-on: ubuntu-latest + # needs: + # - common + # if: github.event_name == 'pull_request' + # outputs: + # components: ${{ steps.list-components.outputs.components }} + # count: ${{ steps.list-components.outputs.count }} + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # with: + # # Fetch enough history so `git merge-base refs/remotes/origin/dev HEAD` works. + # fetch-depth: 500 + # - name: Get target branch + # id: target-branch + # run: | + # echo "branch=${{ github.event.pull_request.base.ref }}" >> $GITHUB_OUTPUT + # - name: Fetch ${{ steps.target-branch.outputs.branch }} branch + # run: | + # git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +refs/heads/${{ steps.target-branch.outputs.branch }}:refs/remotes/origin/${{ steps.target-branch.outputs.branch }} + # git merge-base refs/remotes/origin/${{ steps.target-branch.outputs.branch }} HEAD + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Find changed components + # id: list-components + # run: | + # . venv/bin/activate + # components=$(script/list-components.py --changed --branch ${{ steps.target-branch.outputs.branch }}) + # output_components=$(echo "$components" | jq -R -s -c 'split("\n")[:-1] | map(select(length > 0))') + # count=$(echo "$output_components" | jq length) - echo "components=$output_components" >> $GITHUB_OUTPUT - echo "count=$count" >> $GITHUB_OUTPUT + # echo "components=$output_components" >> $GITHUB_OUTPUT + # echo "count=$count" >> $GITHUB_OUTPUT - echo "$count Components:" - echo "$output_components" | jq + # echo "$count Components:" + # echo "$output_components" | jq - test-build-components: - name: Component test ${{ matrix.file }} - runs-on: ubuntu-latest - needs: - - common - - list-components - if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) > 0 && fromJSON(needs.list-components.outputs.count) < 100 - strategy: - fail-fast: false - max-parallel: 2 - matrix: - file: ${{ fromJson(needs.list-components.outputs.components) }} - steps: - - name: Install dependencies - run: sudo apt-get install libsodium-dev libsdl2-dev + # test-build-components: + # name: Component test ${{ matrix.file }} + # runs-on: ubuntu-latest + # needs: + # - common + # - list-components + # if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) > 0 && fromJSON(needs.list-components.outputs.count) < 100 + # strategy: + # fail-fast: false + # max-parallel: 2 + # matrix: + # file: ${{ fromJson(needs.list-components.outputs.components) }} + # steps: + # - name: Install dependencies + # run: sudo apt-get install libsodium-dev libsdl2-dev - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: test_build_components -e config -c ${{ matrix.file }} - run: | - . venv/bin/activate - ./script/test_build_components -e config -c ${{ matrix.file }} - - name: test_build_components -e compile -c ${{ matrix.file }} - run: | - . venv/bin/activate - ./script/test_build_components -e compile -c ${{ matrix.file }} + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: test_build_components -e config -c ${{ matrix.file }} + # run: | + # . venv/bin/activate + # ./script/test_build_components -e config -c ${{ matrix.file }} + # - name: test_build_components -e compile -c ${{ matrix.file }} + # run: | + # . venv/bin/activate + # ./script/test_build_components -e compile -c ${{ matrix.file }} - test-build-components-splitter: - name: Split components for testing into 20 groups maximum - runs-on: ubuntu-latest - needs: - - common - - list-components - if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) >= 100 - outputs: - matrix: ${{ steps.split.outputs.components }} - steps: - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Split components into 20 groups - id: split - run: | - components=$(echo '${{ needs.list-components.outputs.components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(20) | join(" ")]') - echo "components=$components" >> $GITHUB_OUTPUT + # test-build-components-splitter: + # name: Split components for testing into 20 groups maximum + # runs-on: ubuntu-latest + # needs: + # - common + # - list-components + # if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) >= 100 + # outputs: + # matrix: ${{ steps.split.outputs.components }} + # steps: + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Split components into 20 groups + # id: split + # run: | + # components=$(echo '${{ needs.list-components.outputs.components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(20) | join(" ")]') + # echo "components=$components" >> $GITHUB_OUTPUT - test-build-components-split: - name: Test split components - runs-on: ubuntu-latest - needs: - - common - - list-components - - test-build-components-splitter - if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) >= 100 - strategy: - fail-fast: false - max-parallel: 4 - matrix: - components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} - steps: - - name: List components - run: echo ${{ matrix.components }} + # test-build-components-split: + # name: Test split components + # runs-on: ubuntu-latest + # needs: + # - common + # - list-components + # - test-build-components-splitter + # if: github.event_name == 'pull_request' && fromJSON(needs.list-components.outputs.count) >= 100 + # strategy: + # fail-fast: false + # max-parallel: 4 + # matrix: + # components: ${{ fromJson(needs.test-build-components-splitter.outputs.matrix) }} + # steps: + # - name: List components + # run: echo ${{ matrix.components }} - - name: Install dependencies - run: sudo apt-get install libsodium-dev libsdl2-dev + # - name: Install dependencies + # run: sudo apt-get install libsodium-dev libsdl2-dev - - name: Check out code from GitHub - uses: actions/checkout@v4.1.7 - - name: Restore Python - uses: ./.github/actions/restore-python - with: - python-version: ${{ env.DEFAULT_PYTHON }} - cache-key: ${{ needs.common.outputs.cache-key }} - - name: Validate config - run: | - . venv/bin/activate - for component in ${{ matrix.components }}; do - ./script/test_build_components -e config -c $component - done - - name: Compile config - run: | - . venv/bin/activate - for component in ${{ matrix.components }}; do - ./script/test_build_components -e compile -c $component - done + # - name: Check out code from GitHub + # uses: actions/checkout@v4.1.7 + # - name: Restore Python + # uses: ./.github/actions/restore-python + # with: + # python-version: ${{ env.DEFAULT_PYTHON }} + # cache-key: ${{ needs.common.outputs.cache-key }} + # - name: Validate config + # run: | + # . venv/bin/activate + # for component in ${{ matrix.components }}; do + # ./script/test_build_components -e config -c $component + # done + # - name: Compile config + # run: | + # . venv/bin/activate + # for component in ${{ matrix.components }}; do + # ./script/test_build_components -e compile -c $component + # done - ci-status: - name: CI Status - runs-on: ubuntu-latest - needs: - - common - - black - - ci-custom - - clang-format - - flake8 - - pylint - - pytest - - pyupgrade - - compile-tests - - clang-tidy - - list-components - - test-build-components - - test-build-components-splitter - - test-build-components-split - if: always() - steps: - - name: Success - if: ${{ !(contains(needs.*.result, 'failure')) }} - run: exit 0 - - name: Failure - if: ${{ contains(needs.*.result, 'failure') }} - env: - JSON_DOC: ${{ toJSON(needs) }} - run: | - echo $JSON_DOC | jq - exit 1 + # ci-status: + # name: CI Status + # runs-on: ubuntu-latest + # needs: + # - common + # - black + # - ci-custom + # - clang-format + # - flake8 + # - pylint + # - pytest + # - pyupgrade + # - compile-tests + # - clang-tidy + # - list-components + # - test-build-components + # - test-build-components-splitter + # - test-build-components-split + # if: always() + # steps: + # - name: Success + # if: ${{ !(contains(needs.*.result, 'failure')) }} + # run: exit 0 + # - name: Failure + # if: ${{ contains(needs.*.result, 'failure') }} + # env: + # JSON_DOC: ${{ toJSON(needs) }} + # run: | + # echo $JSON_DOC | jq + # exit 1