Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ distribute-templates:
cp -p templates/Dockerfile.j2 src/playbooks/roles/nkf/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/prompt/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/python/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/qsv/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/rust/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/shellcheck/molecule/default/
cp -p templates/Dockerfile.j2 src/playbooks/roles/zip/molecule/default/
11 changes: 11 additions & 0 deletions src/playbooks/roles/qsv/molecule/default/Dockerfile.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM {{ item.image }}

RUN apt-get update \
&& apt-get install -y \
ca-certificates \
python3 \
software-properties-common \
sudo \
&& adduser molecule \
&& adduser molecule sudo \
&& echo 'Defaults exempt_group=sudo' >> /etc/sudoers
5 changes: 5 additions & 0 deletions src/playbooks/roles/qsv/molecule/default/converge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- name: Converge
hosts: all
roles:
- role: qsv
14 changes: 14 additions & 0 deletions src/playbooks/roles/qsv/molecule/default/molecule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
dependency:
name: galaxy
driver:
name: docker
platforms:
- name: qsv-noble
image: ubuntu:24.04
provisioner:
name: ansible
options:
user: molecule
verifier:
name: ansible
21 changes: 21 additions & 0 deletions src/playbooks/roles/qsv/molecule/default/verify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
- name: verify
hosts: all
tasks:
- name: assert test environment
block:
- name: determine remote user
ansible.builtin.command: whoami
register: result
changed_when: False
- name: assert remote user
assert:
that:
- result.stdout == "molecule"
fail_msg: "actual result is {{ result.stdout }}"
- name: test command existence
ansible.builtin.command: bash -c "type {{ item }}"
register: result
changed_when: False
with_items:
- qsv
53 changes: 53 additions & 0 deletions src/playbooks/roles/qsv/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
- name: Apply dependent roles
ansible.builtin.include_role:
name: "{{ item }}"
with_items:
- zip

- name: Check whether already installed qsv
ansible.builtin.command: |-
which qsv
register: checked_result
changed_when: False
failed_when: checked_result.rc not in [0, 1]

- name: Install qsv
when: checked_result.rc == 1
block:
- name: Install requirements
become: yes
ansible.builtin.apt:
name:
- stow
- name: Create temporary working directory
ansible.builtin.tempfile:
state: directory
register: tmpdir
- name: Download and unarchive prebuilt binaries
ansible.builtin.unarchive:
src: "https://github.com/dathere/qsv/releases/download/{{ qsv_version }}/qsv-{{ qsv_version }}-x86_64-unknown-linux-gnu.zip"
dest: "{{ tmpdir.path }}"
remote_src: yes
- name: Create directory to put executable
become: yes
ansible.builtin.file:
path: "/usr/local/stow/qsv-{{ qsv_version }}/bin"
state: directory
mode: "0755"
- name: Put executable
become: yes
# noqa no-changed-when
ansible.builtin.command: "cp -p {{ tmpdir.path }}/qsv /usr/local/stow/qsv-{{ qsv_version }}/bin/qsv"
- name: Stow package
become: yes
args:
chdir: /usr/local/stow
# noqa no-changed-when
ansible.builtin.shell: |-
ls | grep 'qsv-*' | xargs -n1 stow -D
stow -R qsv-{{ qsv_version }}
- name: Remove temporary working directory
ansible.builtin.file:
path: "{{ tmpdir.path }}"
state: absent
2 changes: 2 additions & 0 deletions src/playbooks/roles/qsv/vars/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
qsv_version: "4.0.0"
1 change: 0 additions & 1 deletion src/playbooks/roles/rust/molecule/default/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,3 @@
- riff
- rustc
- rustup
- xsv
2 changes: 0 additions & 2 deletions src/playbooks/roles/rust/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,3 @@
ansible.builtin.import_tasks: csview.yml
- name: Include task riff
ansible.builtin.import_tasks: riff.yml
- name: Include task xsv
ansible.builtin.import_tasks: xsv.yml
18 changes: 0 additions & 18 deletions src/playbooks/roles/rust/tasks/xsv.yml

This file was deleted.

1 change: 1 addition & 0 deletions src/playbooks/well_tested.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- nkf
- prompt
- python
- qsv
- rust
- shellcheck
- zip