Build on server instead of locally to fix ICU library mismatch

The binary was being built locally on Arch (with ICU 78) and then
deployed to Debian, causing shared library errors. Now the deployment
installs Bun on the server and builds the binary there, ensuring
compatibility with the target system's libraries.
This commit is contained in:
Elm 2026-03-05 08:39:54 -06:00 committed by sepia
parent 28b94a096a
commit de0c724112
3 changed files with 47 additions and 6 deletions

View file

@ -28,13 +28,54 @@
owner: "{{ app_user }}" owner: "{{ app_user }}"
group: "{{ app_user }}" group: "{{ app_user }}"
- name: Copy binary to target location - name: Install Bun
copy: shell: curl -fsSL https://bun.sh/install | bash
src: ../target/sepiatones_xyz args:
dest: "{{ app_home }}/sepiatones_xyz" creates: /home/{{ app_user }}/.bun/bin/bun
become_user: "{{ app_user }}"
- name: Create source directory
file:
path: "{{ app_home }}/src"
state: directory
owner: "{{ app_user }}" owner: "{{ app_user }}"
group: "{{ app_user }}" group: "{{ app_user }}"
mode: "0755"
- name: Copy package.json
copy:
src: ../package.json
dest: "{{ app_home }}/package.json"
owner: "{{ app_user }}"
group: "{{ app_user }}"
- name: Copy bun.lockb
copy:
src: ../bun.lockb
dest: "{{ app_home }}/bun.lockb"
owner: "{{ app_user }}"
group: "{{ app_user }}"
- name: Copy source files
synchronize:
src: ../src/
dest: "{{ app_home }}/src/"
recursive: yes
owner: no
group: no
archive: yes
delete: yes
- name: Install dependencies
shell: /home/{{ app_user }}/.bun/bin/bun install --frozen-lockfile
args:
chdir: "{{ app_home }}"
become_user: "{{ app_user }}"
- name: Build binary
shell: /home/{{ app_user }}/.bun/bin/bun build --compile --minify --target bun --outfile ./sepiatones_xyz ./src/index.tsx
args:
chdir: "{{ app_home }}"
become_user: "{{ app_user }}"
- name: Copy data directory - name: Copy data directory
synchronize: synchronize:

BIN
bun.lockb Normal file → Executable file

Binary file not shown.

View file

@ -7,7 +7,7 @@ dev:
build: build:
bun build --compile --minify --target bun --outfile ./target/sepiatones_xyz ./src/index.tsx bun build --compile --minify --target bun --outfile ./target/sepiatones_xyz ./src/index.tsx
deploy: build deploy:
ansible-playbook -i ansible/hosts.ini ansible/deploy.yml ansible-playbook -i ansible/hosts.ini ansible/deploy.yml
test: test: