diff --git a/roles/custom/matrix-bot-maubot/defaults/main.yml b/roles/custom/matrix-bot-maubot/defaults/main.yml index c8a02f478..c0cd9201f 100644 --- a/roles/custom/matrix-bot-maubot/defaults/main.yml +++ b/roles/custom/matrix-bot-maubot/defaults/main.yml @@ -35,7 +35,6 @@ matrix_bot_maubot_container_image: "{{ matrix_bot_maubot_container_image_registr matrix_bot_maubot_container_image_registry_prefix: "{{ 'localhost/' if matrix_bot_maubot_container_image_self_build else matrix_bot_maubot_container_image_registry_prefix_upstream }}" matrix_bot_maubot_container_image_registry_prefix_upstream: "{{ matrix_bot_maubot_container_image_registry_prefix_upstream_default }}" matrix_bot_maubot_container_image_registry_prefix_upstream_default: "dock.mau.dev/" -matrix_bot_maubot_container_image_force_pull: "{{ matrix_bot_maubot_container_image.endswith(':latest') }}" # matrix_bot_maubot_container_image_customized is the name of the locally built maubot image # which adds various customizations on top of the original (upstream) maubot image. diff --git a/roles/custom/matrix-bot-maubot/tasks/setup_install.yml b/roles/custom/matrix-bot-maubot/tasks/setup_install.yml index 0aa4915a2..b711dad17 100644 --- a/roles/custom/matrix-bot-maubot/tasks/setup_install.yml +++ b/roles/custom/matrix-bot-maubot/tasks/setup_install.yml @@ -37,11 +37,9 @@ register: matrix_bot_maubot_config_result - name: Ensure maubot image is pulled - community.docker.docker_image: + community.docker.docker_image_pull: name: "{{ matrix_bot_maubot_container_image }}" - source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}" - force_source: "{{ matrix_bot_maubot_container_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_container_image_force_pull }}" + pull: always when: "not matrix_bot_maubot_container_image_self_build|bool" register: matrix_bot_maubot_container_image_pull_result retries: "{{ devture_playbook_help_container_retries_count }}" @@ -61,15 +59,13 @@ register: matrix_bot_maubot_git_pull_results - name: Ensure maubot image is built - community.docker.docker_image: + community.docker.docker_image_build: name: "{{ matrix_bot_maubot_container_image }}" - source: build - force_source: "{{ matrix_bot_maubot_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" - force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_bot_maubot_git_pull_results.changed }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_bot_maubot_container_src_files_path }}" - pull: true + dockerfile: Dockerfile + path: "{{ matrix_bot_maubot_container_src_files_path }}" + pull: true + rebuild: "{{ 'always' if matrix_bot_maubot_git_pull_results.changed | bool else 'never' }}" + register: matrix_bot_maubot_container_image_build_result - when: "matrix_bot_maubot_container_image_customizations_enabled | bool" block: @@ -83,14 +79,12 @@ register: matrix_bot_maubot_container_image_customizations_dockerfile_result - name: Ensure customized Docker image for maubot is built - community.docker.docker_image: + community.docker.docker_image_build: name: "{{ matrix_bot_maubot_container_image_customized }}" - source: build - force_source: "{{ matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_container_image_customized_force_source }}" - build: - dockerfile: Dockerfile - path: "{{ matrix_bot_maubot_customized_container_src_files_path }}" - nocache: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" + dockerfile: Dockerfile + path: "{{ matrix_bot_maubot_customized_container_src_files_path }}" + nocache: "{{ matrix_bot_maubot_container_image_customized_build_nocache }}" + rebuild: "{{ 'always' if (matrix_bot_maubot_container_image_customizations_dockerfile_result.changed or matrix_bot_maubot_container_image_customized_force_source) | bool else 'never' }}" - name: Ensure maubot support files installed ansible.builtin.template: @@ -125,4 +119,5 @@ or matrix_bot_maubot_support_files_result.changed | default(false) or matrix_bot_maubot_systemd_service_result.changed | default(false) or matrix_bot_maubot_container_image_pull_result.changed | default(false) + or matrix_bot_maubot_container_image_build_result.changed | default(false) }} diff --git a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml index 1201184cc..16ee6980c 100644 --- a/roles/custom/matrix-bot-maubot/tasks/validate_config.yml +++ b/roles/custom/matrix-bot-maubot/tasks/validate_config.yml @@ -31,6 +31,7 @@ - {'old': 'matrix_bot_maubot_docker_repo_version', 'new': 'matrix_bot_maubot_container_repo_version'} - {'old': 'matrix_bot_maubot_docker_src_files_path', 'new': 'matrix_bot_maubot_container_src_files_path'} - {'old': 'matrix_bot_maubot_customized_docker_src_files_path', 'new': 'matrix_bot_maubot_customized_container_src_files_path'} + - {'old': 'matrix_bot_maubot_container_image_force_pull', 'new': ' (the new community.docker.docker_image_pull module handles this natively)'} - name: Fail if required maubot settings not defined ansible.builtin.fail: