diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8a999d21b2e..d0a214814ee 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -89,6 +89,7 @@ jobs: test_groups: ${{ steps.info.outputs.test_groups }} tests_glob: ${{ steps.info.outputs.tests_glob }} tests: ${{ steps.info.outputs.tests }} + lint_only: ${{ steps.info.outputs.lint_only }} skip_coverage: ${{ steps.info.outputs.skip_coverage }} runs-on: ubuntu-24.04 steps: @@ -142,6 +143,7 @@ jobs: test_group_count=10 tests="[]" tests_glob="" + lint_only="" skip_coverage="" if [[ "${{ steps.integrations.outputs.changes }}" != "[]" ]]; @@ -192,6 +194,15 @@ jobs: test_full_suite="true" fi + if [[ "${{ github.event.inputs.lint-only }}" == "true" ]] \ + || [[ "${{ github.event.inputs.pylint-only }}" == "true" ]] \ + || [[ "${{ github.event.inputs.mypy-only }}" == "true" ]] \ + || [[ "${{ github.event.inputs.audit-licenses-only }}" == "true" ]]; + then + lint_only="true" + skip_coverage="true" + fi + if [[ "${{ github.event.inputs.skip-coverage }}" == "true" ]] \ || [[ "${{ contains(github.event.pull_request.labels.*.name, 'ci-skip-coverage') }}" == "true" ]]; then @@ -217,6 +228,8 @@ jobs: echo "tests=${tests}" >> $GITHUB_OUTPUT echo "tests_glob: ${tests_glob}" echo "tests_glob=${tests_glob}" >> $GITHUB_OUTPUT + echo "lint_only": ${lint_only} + echo "lint_only=${lint_only}" >> $GITHUB_OUTPUT echo "skip_coverage: ${skip_coverage}" echo "skip_coverage=${skip_coverage}" >> $GITHUB_OUTPUT @@ -830,10 +843,7 @@ jobs: runs-on: ubuntu-24.04 if: | (github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core') - && github.event.inputs.lint-only != 'true' - && github.event.inputs.pylint-only != 'true' - && github.event.inputs.mypy-only != 'true' - && github.event.inputs.audit-licenses-only != 'true' + && needs.info.outputs.lint_only != 'true' && needs.info.outputs.test_full_suite == 'true' needs: - info @@ -887,10 +897,7 @@ jobs: runs-on: ubuntu-24.04 if: | (github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core') - && github.event.inputs.lint-only != 'true' - && github.event.inputs.pylint-only != 'true' - && github.event.inputs.mypy-only != 'true' - && github.event.inputs.audit-licenses-only != 'true' + && needs.info.outputs.lint_only != 'true' && needs.info.outputs.test_full_suite == 'true' needs: - info @@ -1017,10 +1024,7 @@ jobs: options: --health-cmd="mysqladmin ping -uroot -ppassword" --health-interval=5s --health-timeout=2s --health-retries=3 if: | (github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core') - && github.event.inputs.lint-only != 'true' - && github.event.inputs.pylint-only != 'true' - && github.event.inputs.mypy-only != 'true' - && github.event.inputs.audit-licenses-only != 'true' + && needs.info.outputs.lint_only != 'true' && needs.info.outputs.mariadb_groups != '[]' needs: - info @@ -1153,10 +1157,7 @@ jobs: options: --health-cmd="pg_isready -hlocalhost -Upostgres" --health-interval=5s --health-timeout=2s --health-retries=3 if: | (github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core') - && github.event.inputs.lint-only != 'true' - && github.event.inputs.pylint-only != 'true' - && github.event.inputs.mypy-only != 'true' - && github.event.inputs.audit-licenses-only != 'true' + && needs.info.outputs.lint_only != 'true' && needs.info.outputs.postgresql_groups != '[]' needs: - info @@ -1309,10 +1310,7 @@ jobs: runs-on: ubuntu-24.04 if: | (github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core') - && github.event.inputs.lint-only != 'true' - && github.event.inputs.pylint-only != 'true' - && github.event.inputs.mypy-only != 'true' - && github.event.inputs.audit-licenses-only != 'true' + && needs.info.outputs.lint_only != 'true' && needs.info.outputs.tests_glob && needs.info.outputs.test_full_suite == 'false' needs: