From b629b62974481f76ef4067b8281064d8516cfa19 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 2 Oct 2024 21:59:04 +0200 Subject: [PATCH] homeassistant: Install newer python version if required --- roles/homeassistant/defaults/main.yml | 3 +++ roles/homeassistant/tasks/main.yml | 4 ++++ roles/homeassistant/tasks/python_312.yml | 26 ++++++++++++++++++++++++ roles/homeassistant/vars/main.yml | 6 ++++++ 4 files changed, 39 insertions(+) create mode 100644 roles/homeassistant/defaults/main.yml create mode 100644 roles/homeassistant/tasks/python_312.yml create mode 100644 roles/homeassistant/vars/main.yml diff --git a/roles/homeassistant/defaults/main.yml b/roles/homeassistant/defaults/main.yml new file mode 100644 index 0000000..11d0f72 --- /dev/null +++ b/roles/homeassistant/defaults/main.yml @@ -0,0 +1,3 @@ +--- + +ha_python_version: '3.12' diff --git a/roles/homeassistant/tasks/main.yml b/roles/homeassistant/tasks/main.yml index ed97d53..87982b2 100644 --- a/roles/homeassistant/tasks/main.yml +++ b/roles/homeassistant/tasks/main.yml @@ -1 +1,5 @@ --- + +- name: Install python if required + ansible.builtin.include_tasks: python_312.yml + when: ha_python_version == '3.12' diff --git a/roles/homeassistant/tasks/python_312.yml b/roles/homeassistant/tasks/python_312.yml new file mode 100644 index 0000000..cb9cfc2 --- /dev/null +++ b/roles/homeassistant/tasks/python_312.yml @@ -0,0 +1,26 @@ +--- + +- name: Python 3.12 | add GPG signing key + become: true + ansible.builtin.apt_key: + url: "https://pascalroeleven.nl/deb-pascalroeleven.gpg" + state: present + validate_certs: true + tags: install + +- name: Python 3.12 | add official repository + become: true + ansible.builtin.apt_repository: + repo: "deb http://deb.pascalroeleven.nl/python3.12 bookworm-backports main" + state: present + filename: python312 + update_cache: true + tags: install + +- name: Python 3.12 | establish dependencies + become: true + ansible.builtin.apt: + name: "{{ item }}" + state: present + loop: "{{ python312_dependencies }}" + tags: install diff --git a/roles/homeassistant/vars/main.yml b/roles/homeassistant/vars/main.yml new file mode 100644 index 0000000..7209b3e --- /dev/null +++ b/roles/homeassistant/vars/main.yml @@ -0,0 +1,6 @@ +--- + +python312_dependencies: + - python3.12 + - python3.12-venv + - python3.12-dev