mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Add bookokrat to source tools with build_output_path support
This commit is contained in:
@@ -132,6 +132,12 @@ desktop_source_tools:
|
|||||||
build_cmd: ./build.sh
|
build_cmd: ./build.sh
|
||||||
binary_name: gf2
|
binary_name: gf2
|
||||||
install_name: gf
|
install_name: gf
|
||||||
|
- name: bookokrat
|
||||||
|
repo: https://github.com/bugzmanov/bookokrat
|
||||||
|
build_cmd: cargo build --release
|
||||||
|
binary_name: bookokrat
|
||||||
|
install_name: bookokrat
|
||||||
|
build_output_path: target/release/bookokrat
|
||||||
|
|
||||||
desktop_npm_packages:
|
desktop_npm_packages:
|
||||||
- name: "opencode-ai"
|
- name: "opencode-ai"
|
||||||
|
|||||||
@@ -434,8 +434,12 @@
|
|||||||
|
|
||||||
- name: Build and install desktop source tools
|
- name: Build and install desktop source tools
|
||||||
tags: [packages]
|
tags: [packages]
|
||||||
ansible.builtin.include_tasks: source_tool.yml
|
ansible.builtin.include_tasks:
|
||||||
|
file: source_tool.yml
|
||||||
|
apply:
|
||||||
|
tags: [packages]
|
||||||
loop: "{{ desktop_source_tools }}"
|
loop: "{{ desktop_source_tools }}"
|
||||||
|
when: desktop_source_tools | length > 0
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: source_tool
|
loop_var: source_tool
|
||||||
label: "{{ source_tool.name }}"
|
label: "{{ source_tool.name }}"
|
||||||
|
|||||||
@@ -16,19 +16,23 @@
|
|||||||
|
|
||||||
- name: Check built {{ source_tool.name }} binary
|
- name: Check built {{ source_tool.name }} binary
|
||||||
ansible.builtin.stat:
|
ansible.builtin.stat:
|
||||||
path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}"
|
path: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}"
|
||||||
register: source_tool_built_binary
|
register: source_tool_built_binary
|
||||||
|
|
||||||
- name: Build {{ source_tool.name }}
|
- name: Build {{ source_tool.name }}
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "{{ source_tool.build_cmd }}"
|
cmd: "{{ source_tool.build_cmd }}"
|
||||||
chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}"
|
chdir: "{{ user_home }}/.local/src/{{ source_tool.name }}"
|
||||||
|
become_user: "{{ username }}"
|
||||||
|
environment:
|
||||||
|
HOME: "{{ user_home }}"
|
||||||
|
PATH: "{{ user_home }}/.cargo/bin:{{ ansible_facts.env.PATH }}"
|
||||||
when:
|
when:
|
||||||
- source_tool_repo_state.changed or not source_tool_built_binary.stat.exists
|
- source_tool_repo_state.changed or not source_tool_built_binary.stat.exists
|
||||||
|
|
||||||
- name: Install {{ source_tool.name }}
|
- name: Install {{ source_tool.name }}
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.binary_name | default(source_tool.name) }}"
|
src: "{{ user_home }}/.local/src/{{ source_tool.name }}/{{ source_tool.build_output_path | default(source_tool.binary_name) }}"
|
||||||
dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}"
|
dest: "/usr/local/bin/{{ source_tool.install_name | default(source_tool.name) }}"
|
||||||
remote_src: true
|
remote_src: true
|
||||||
owner: root
|
owner: root
|
||||||
|
|||||||
Reference in New Issue
Block a user