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 matrix_synapse_auto_compressor_enabled: true
# renovate: datasource=docker depName=registry.gitlab.com/etke.cc/rust-synapse-compress-state # 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_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" matrix_synapse_auto_compressor_container_src_files_path: "{{ matrix_synapse_auto_compressor_base_path }}/container-src"

View File

@ -34,28 +34,39 @@
delay: "{{ devture_playbook_help_container_retries_delay }}" delay: "{{ devture_playbook_help_container_retries_delay }}"
until: result is not failed until: result is not failed
- name: Ensure synapse-auto-compressor repository is present on self-build
ansible.builtin.git:
repo: "{{ matrix_synapse_auto_compressor_container_image_self_build_repo }}"
version: "{{ matrix_synapse_auto_compressor_container_image_self_build_version }}"
dest: "{{ matrix_synapse_auto_compressor_container_src_files_path }}"
force: "yes"
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: Ensure synapse-auto-compressor image is built - when: "matrix_synapse_auto_compressor_container_image_self_build | bool"
community.docker.docker_image: block:
name: "{{ matrix_synapse_auto_compressor_container_image }}" - name: Ensure synapse-auto-compressor repository is present on self-build
source: build ansible.builtin.git:
force_source: "{{ matrix_synapse_auto_compressor_git_pull_results.changed if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}" repo: "{{ matrix_synapse_auto_compressor_container_image_self_build_repo }}"
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_mailer_git_pull_results.changed }}" version: "{{ matrix_synapse_auto_compressor_container_image_self_build_version }}"
build: dest: "{{ matrix_synapse_auto_compressor_container_src_files_path }}"
dockerfile: Dockerfile force: "yes"
path: "{{ matrix_synapse_auto_compressor_container_src_files_path }}" become: true
pull: true become_user: "{{ matrix_user_username }}"
when: "matrix_synapse_auto_compressor_container_image_self_build | bool" register: matrix_synapse_auto_compressor_git_pull_results
- 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
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 - name: Ensure matrix-synapse-auto-compressor container network is created
community.general.docker_network: community.general.docker_network: