Build latest/main branch of rust-synapse-compress-state for non-amd64 users

The latest tagged release (v0.1.3) does not pin any versions in its
Dockerfile and as such fails to build right now.

The `main` branch of rust-synapse-compress-state has already addressed
this and is buildable, but there's no tagged release yet.

Reported here: https://github.com/matrix-org/rust-synapse-compress-state/issues/134
This commit is contained in:
Slavi Pantaleev 2024-01-05 07:04:19 +02:00
parent 14278c51c2
commit 06f561f0dd
2 changed files with 33 additions and 22 deletions

View File

@ -6,7 +6,7 @@
matrix_synapse_auto_compressor_enabled: true
# renovate: datasource=docker depName=registry.gitlab.com/etke.cc/rust-synapse-compress-state
matrix_synapse_auto_compressor_version: v0.1.3
matrix_synapse_auto_compressor_version: "{{ 'latest' if matrix_synapse_auto_compressor_container_image_self_build else 'v0.1.3' }}"
matrix_synapse_auto_compressor_base_path: "{{ matrix_base_data_path }}/synapse-auto-compressor"
matrix_synapse_auto_compressor_container_src_files_path: "{{ matrix_synapse_auto_compressor_base_path }}/container-src"

View File

@ -34,6 +34,9 @@
delay: "{{ devture_playbook_help_container_retries_delay }}"
until: result is not failed
- when: "matrix_synapse_auto_compressor_container_image_self_build | bool"
block:
- name: Ensure synapse-auto-compressor repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_synapse_auto_compressor_container_image_self_build_repo }}"
@ -43,19 +46,27 @@
become: true
become_user: "{{ matrix_user_username }}"
register: matrix_synapse_auto_compressor_git_pull_results
when: "matrix_synapse_auto_compressor_container_image_self_build | bool"
- name: Check if synapse-auto-compressor image exists
ansible.builtin.command: "{{ devture_systemd_docker_base_host_command_docker }} images --quiet --filter 'reference={{ matrix_synapse_auto_compressor_container_image }}'"
register: matrix_synapse_auto_compressor_container_image_check_result
changed_when: false
# Invoking the `docker build` command here, instead of calling the `docker_image` Ansible module,
# because the latter does not support BuildKit.
# See: https://github.com/ansible-collections/community.general/issues/514
- name: Ensure synapse-auto-compressor image is built
community.docker.docker_image:
name: "{{ matrix_synapse_auto_compressor_container_image }}"
source: build
force_source: "{{ matrix_synapse_auto_compressor_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_mailer_git_pull_results.changed }}"
build:
dockerfile: Dockerfile
path: "{{ matrix_synapse_auto_compressor_container_src_files_path }}"
pull: true
when: "matrix_synapse_auto_compressor_container_image_self_build | bool"
ansible.builtin.shell:
chdir: "{{ matrix_synapse_auto_compressor_container_src_files_path }}"
cmd: |
{{ devture_systemd_docker_base_host_command_docker }} build \
-t "{{ matrix_synapse_auto_compressor_container_image }}" \
-f Dockerfile \
.
environment:
DOCKER_BUILDKIT: 1
changed_when: true
when: "matrix_synapse_auto_compressor_git_pull_results.changed | bool or matrix_synapse_auto_compressor_container_image_check_result.stdout == ''"
- name: Ensure matrix-synapse-auto-compressor container network is created
community.general.docker_network: