mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Use matrix for db recorder tests (#87640)
* (mock) Mark mariadb as success to skip on partial builds * mariadb_groups * Adjust * Fix yaml * mariadb-group * Add postgresql-group * Align * Include mariadb-postgresql * Update ci.yaml * Update ci.yaml * Rename jobs * Remove recorder tests from coverage needs
This commit is contained in:
parent
0cfb937d07
commit
a31bd49eee
26
.github/workflows/ci.yaml
vendored
26
.github/workflows/ci.yaml
vendored
@ -34,6 +34,8 @@ env:
|
|||||||
HA_SHORT_VERSION: 2023.3
|
HA_SHORT_VERSION: 2023.3
|
||||||
DEFAULT_PYTHON: "3.10"
|
DEFAULT_PYTHON: "3.10"
|
||||||
ALL_PYTHON_VERSIONS: "['3.10']"
|
ALL_PYTHON_VERSIONS: "['3.10']"
|
||||||
|
MARIADB_VERSIONS: "['mariadb:10.9.3']"
|
||||||
|
POSTGRESQL_VERSIONS: "['postgres:15.0']"
|
||||||
PRE_COMMIT_CACHE: ~/.cache/pre-commit
|
PRE_COMMIT_CACHE: ~/.cache/pre-commit
|
||||||
PIP_CACHE: /tmp/pip-cache
|
PIP_CACHE: /tmp/pip-cache
|
||||||
SQLALCHEMY_WARN_20: 1
|
SQLALCHEMY_WARN_20: 1
|
||||||
@ -56,6 +58,8 @@ jobs:
|
|||||||
pre-commit_cache_key: ${{ steps.generate_pre-commit_cache_key.outputs.key }}
|
pre-commit_cache_key: ${{ steps.generate_pre-commit_cache_key.outputs.key }}
|
||||||
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
|
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
|
||||||
requirements: ${{ steps.core.outputs.requirements }}
|
requirements: ${{ steps.core.outputs.requirements }}
|
||||||
|
mariadb_groups: ${{ steps.info.outputs.mariadb_groups }}
|
||||||
|
postgresql_groups: ${{ steps.info.outputs.postgresql_groups }}
|
||||||
python_versions: ${{ steps.info.outputs.python_versions }}
|
python_versions: ${{ steps.info.outputs.python_versions }}
|
||||||
test_full_suite: ${{ steps.info.outputs.test_full_suite }}
|
test_full_suite: ${{ steps.info.outputs.test_full_suite }}
|
||||||
test_group_count: ${{ steps.info.outputs.test_group_count }}
|
test_group_count: ${{ steps.info.outputs.test_group_count }}
|
||||||
@ -103,6 +107,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
# Defaults
|
# Defaults
|
||||||
integrations_glob=""
|
integrations_glob=""
|
||||||
|
mariadb_groups=${MARIADB_VERSIONS}
|
||||||
|
postgresql_groups=${POSTGRESQL_VERSIONS}
|
||||||
test_full_suite="true"
|
test_full_suite="true"
|
||||||
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
|
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
|
||||||
test_group_count=10
|
test_group_count=10
|
||||||
@ -136,6 +142,8 @@ jobs:
|
|||||||
tests_glob=$(echo "${tests}" | jq -cSr '. | join(",")')
|
tests_glob=$(echo "${tests}" | jq -cSr '. | join(",")')
|
||||||
[[ "${tests_glob}" == *","* ]] && tests_glob="{${tests_glob}}"
|
[[ "${tests_glob}" == *","* ]] && tests_glob="{${tests_glob}}"
|
||||||
|
|
||||||
|
mariadb_groups="[]"
|
||||||
|
postgresql_groups="[]"
|
||||||
test_full_suite="false"
|
test_full_suite="false"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -148,12 +156,18 @@ jobs:
|
|||||||
|| [[ "${{ github.event.inputs.full }}" == "true" ]] \
|
|| [[ "${{ github.event.inputs.full }}" == "true" ]] \
|
||||||
|| [[ "${{ contains(github.event.pull_request.labels.*.name, 'ci-full-run') }}" == "true" ]];
|
|| [[ "${{ contains(github.event.pull_request.labels.*.name, 'ci-full-run') }}" == "true" ]];
|
||||||
then
|
then
|
||||||
|
mariadb_groups=${MARIADB_VERSIONS}
|
||||||
|
postgresql_groups=${POSTGRESQL_VERSIONS}
|
||||||
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
|
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
|
||||||
test_group_count=10
|
test_group_count=10
|
||||||
test_full_suite="true"
|
test_full_suite="true"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Output & sent to GitHub Actions
|
# Output & sent to GitHub Actions
|
||||||
|
echo "mariadb_groups: ${mariadb_groups}"
|
||||||
|
echo "mariadb_groups=${mariadb_groups}" >> $GITHUB_OUTPUT
|
||||||
|
echo "postgresql_groups: ${postgresql_groups}"
|
||||||
|
echo "postgresql_groups=${postgresql_groups}" >> $GITHUB_OUTPUT
|
||||||
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
|
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
|
||||||
echo "python_versions=${ALL_PYTHON_VERSIONS}" >> $GITHUB_OUTPUT
|
echo "python_versions=${ALL_PYTHON_VERSIONS}" >> $GITHUB_OUTPUT
|
||||||
echo "test_full_suite: ${test_full_suite}"
|
echo "test_full_suite: ${test_full_suite}"
|
||||||
@ -909,7 +923,7 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
services:
|
services:
|
||||||
mariadb:
|
mariadb:
|
||||||
image: mariadb:10.9.3
|
image: ${{ matrix.mariadb-group }}
|
||||||
ports:
|
ports:
|
||||||
- 3306:3306
|
- 3306:3306
|
||||||
env:
|
env:
|
||||||
@ -920,7 +934,6 @@ jobs:
|
|||||||
&& github.event.inputs.lint-only != 'true'
|
&& github.event.inputs.lint-only != 'true'
|
||||||
&& github.event.inputs.pylint-only != 'true'
|
&& github.event.inputs.pylint-only != 'true'
|
||||||
&& github.event.inputs.mypy-only != 'true'
|
&& github.event.inputs.mypy-only != 'true'
|
||||||
&& needs.info.outputs.test_full_suite == 'true'
|
|
||||||
needs:
|
needs:
|
||||||
- info
|
- info
|
||||||
- base
|
- base
|
||||||
@ -935,8 +948,9 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
|
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
|
||||||
|
mariadb-group: ${{ fromJson(needs.info.outputs.mariadb_groups) }}
|
||||||
name: >-
|
name: >-
|
||||||
Run tests Python ${{ matrix.python-version }} (mariadb)
|
Run recorder tests Python ${{ matrix.python-version }} (${{ matrix.mariadb-group }})
|
||||||
steps:
|
steps:
|
||||||
- name: Install additional OS dependencies
|
- name: Install additional OS dependencies
|
||||||
run: |
|
run: |
|
||||||
@ -1010,7 +1024,7 @@ jobs:
|
|||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:15.0
|
image: ${{ matrix.postgresql-group }}
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
env:
|
env:
|
||||||
@ -1019,7 +1033,6 @@ jobs:
|
|||||||
if: |
|
if: |
|
||||||
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
|
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
|
||||||
&& github.event.inputs.lint-only != 'true'
|
&& github.event.inputs.lint-only != 'true'
|
||||||
&& needs.info.outputs.test_full_suite == 'true'
|
|
||||||
&& github.event.inputs.pylint-only != 'true'
|
&& github.event.inputs.pylint-only != 'true'
|
||||||
&& github.event.inputs.mypy-only != 'true'
|
&& github.event.inputs.mypy-only != 'true'
|
||||||
needs:
|
needs:
|
||||||
@ -1035,8 +1048,9 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
|
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
|
||||||
|
postgresql-group: ${{ fromJson(needs.info.outputs.postgresql_groups) }}
|
||||||
name: >-
|
name: >-
|
||||||
Run tests Python ${{ matrix.python-version }} (postgresql)
|
Run recorder tests Python ${{ matrix.python-version }} (${{ matrix.postgresql-group }})
|
||||||
steps:
|
steps:
|
||||||
- name: Install additional OS dependencies
|
- name: Install additional OS dependencies
|
||||||
run: |
|
run: |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user