Skip to content

Commit

Permalink
Build latest/main branch of rust-synapse-compress-state for non-amd64…
Browse files Browse the repository at this point in the history
… 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: matrix-org/rust-synapse-compress-state#134
  • Loading branch information
spantaleev committed Jan 5, 2024
1 parent 14278c5 commit 06f561f
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
53 changes: 32 additions & 21 deletions roles/custom/matrix-synapse-auto-compressor/tasks/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,28 +34,39 @@
delay: "{{ devture_playbook_help_container_retries_delay }}"
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
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"
- 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 }}"
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

- 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
community.general.docker_network:
Expand Down

0 comments on commit 06f561f

Please sign in to comment.