From a173d5c8f149b4dde505fd4ab5257fb4cbc6911e Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sun, 26 Jul 2026 16:05:40 -0500 Subject: build roles: stage checkouts + artifacts under build_work_dir Move every build role's working dir off /tmp (the SD card) to {{build_work_dir}}, which the playbook points at the SSD on the build host. nostr and pleroma stage their artifacts inside their own build dirs so the shared work dir can't collide, while preserving the archive top-level names (relayer, release) that the server roles depend on. --- bin/build/defaults/main.yaml | 2 +- bin/build/tasks/main.yaml | 2 +- dendrite/build/defaults/main.yaml | 2 +- dendrite/build/tasks/main.yaml | 2 +- mattertimesync/build/defaults/main.yaml | 2 +- mattertimesync/build/tasks/main.yaml | 2 +- nostr/build/defaults/main.yaml | 2 +- nostr/build/tasks/main.yaml | 6 +++--- pleroma/build/defaults/main.yaml | 2 +- pleroma/build/tasks/main.yaml | 10 +++++----- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bin/build/defaults/main.yaml b/bin/build/defaults/main.yaml index 2c1d7d9..4bea60c 100644 --- a/bin/build/defaults/main.yaml +++ b/bin/build/defaults/main.yaml @@ -3,5 +3,5 @@ bin_version: "2.0.1" # https://github.com/w4/bin/releases bin_tar: "https://github.com/w4/bin/archive/refs/tags/v{{bin_version}}.tar.gz" -bin_build_dir: "/tmp/bin-{{bin_version}}" +bin_build_dir: "{{build_work_dir}}/bin-{{bin_version}}" bin_srv_dir: "{{build_srv_dir}}" diff --git a/bin/build/tasks/main.yaml b/bin/build/tasks/main.yaml index f340cb5..b29b23e 100644 --- a/bin/build/tasks/main.yaml +++ b/bin/build/tasks/main.yaml @@ -8,7 +8,7 @@ unarchive: remote_src: yes src: "{{bin_tar}}" - dest: "/tmp/" + dest: "{{build_work_dir}}/" creates: "{{bin_build_dir}}" - name: check if bin build exists diff --git a/dendrite/build/defaults/main.yaml b/dendrite/build/defaults/main.yaml index 317204b..06e38e1 100644 --- a/dendrite/build/defaults/main.yaml +++ b/dendrite/build/defaults/main.yaml @@ -3,5 +3,5 @@ dendrite_version: "0.15.2" # https://github.com/element-hq/dendrite/releases dendrite_tar: "https://github.com/element-hq/dendrite/archive/refs/tags/v{{dendrite_version}}.tar.gz" -dendrite_build_dir: "/tmp/dendrite-{{dendrite_version}}" +dendrite_build_dir: "{{build_work_dir}}/dendrite-{{dendrite_version}}" dendrite_srv_dir: "{{build_srv_dir}}" diff --git a/dendrite/build/tasks/main.yaml b/dendrite/build/tasks/main.yaml index 96c3eab..dff7bdb 100644 --- a/dendrite/build/tasks/main.yaml +++ b/dendrite/build/tasks/main.yaml @@ -16,7 +16,7 @@ unarchive: remote_src: yes src: "{{dendrite_tar}}" - dest: "/tmp/" + dest: "{{build_work_dir}}/" creates: "{{dendrite_build_dir}}" - name: create build dir diff --git a/mattertimesync/build/defaults/main.yaml b/mattertimesync/build/defaults/main.yaml index 96156f8..bee4e58 100644 --- a/mattertimesync/build/defaults/main.yaml +++ b/mattertimesync/build/defaults/main.yaml @@ -5,5 +5,5 @@ mattertimesync_version: "0.1.0" # Pure-JS project: npm run bundle produces one self-contained mattertimesync.mjs # (no native modules), so the target only needs node to run it. mattertimesync_tar: "https://github.com/{{github_user}}/mattertimesync/archive/refs/tags/v{{mattertimesync_version}}.tar.gz" -mattertimesync_build_dir: "/tmp/mattertimesync-{{mattertimesync_version}}" +mattertimesync_build_dir: "{{build_work_dir}}/mattertimesync-{{mattertimesync_version}}" mattertimesync_srv_dir: "{{build_srv_dir}}" diff --git a/mattertimesync/build/tasks/main.yaml b/mattertimesync/build/tasks/main.yaml index 68c9da0..f9c0341 100644 --- a/mattertimesync/build/tasks/main.yaml +++ b/mattertimesync/build/tasks/main.yaml @@ -4,7 +4,7 @@ unarchive: remote_src: yes src: "{{mattertimesync_tar}}" - dest: "/tmp/" + dest: "{{build_work_dir}}/" creates: "{{mattertimesync_build_dir}}" - name: check if mattertimesync build exists diff --git a/nostr/build/defaults/main.yaml b/nostr/build/defaults/main.yaml index ccacda2..08dc1b5 100644 --- a/nostr/build/defaults/main.yaml +++ b/nostr/build/defaults/main.yaml @@ -3,7 +3,7 @@ relayer_version: "2.2.8" # https://github.com/fiatjaf/relayer/releases relayer_tar: "https://github.com/fiatjaf/relayer/archive/refs/tags/v{{relayer_version}}.tar.gz" -relayer_build_dir: "/tmp/relayer-{{relayer_version}}" +relayer_build_dir: "{{build_work_dir}}/relayer-{{relayer_version}}" relayer_srv_dir: "{{build_srv_dir}}" relayer_main_src: "{{relayer_build_dir}}/examples/whitelisted/main.go" diff --git a/nostr/build/tasks/main.yaml b/nostr/build/tasks/main.yaml index beb2238..e526412 100644 --- a/nostr/build/tasks/main.yaml +++ b/nostr/build/tasks/main.yaml @@ -16,7 +16,7 @@ unarchive: remote_src: yes src: "{{relayer_tar}}" - dest: "/tmp/" + dest: "{{build_work_dir}}/" creates: "{{relayer_build_dir}}" # update name @@ -72,14 +72,14 @@ copy: remote_src: yes src: "{{relayer_build_dir}}/examples/whitelisted/whitelisted" - dest: "/tmp/relayer" + dest: "{{relayer_build_dir}}/relayer" mode: "0755" when: not build_file.stat.exists - name: create gz archive of relayer become: yes archive: - path: "/tmp/relayer" + path: "{{relayer_build_dir}}/relayer" dest: "{{relayer_srv_dir}}/nostr-relayer-whitelisted-{{relayer_version}}.tar.gz" format: "gz" when: not build_file.stat.exists diff --git a/pleroma/build/defaults/main.yaml b/pleroma/build/defaults/main.yaml index 2d16436..bc9be00 100644 --- a/pleroma/build/defaults/main.yaml +++ b/pleroma/build/defaults/main.yaml @@ -5,5 +5,5 @@ pleroma_elixir_version: "1.18.3" pleroma_erlang_otp_version: "25" # https://git.pleroma.social/pleroma/pleroma/releases pleroma_tar: "https://git.pleroma.social/pleroma/pleroma/archive/v{{pleroma_version}}.tar.gz" -pleroma_build_dir: "/tmp/pleroma" +pleroma_build_dir: "{{build_work_dir}}/pleroma" pleroma_srv_dir: "{{build_srv_dir}}" diff --git a/pleroma/build/tasks/main.yaml b/pleroma/build/tasks/main.yaml index ae3e35d..704c0a4 100644 --- a/pleroma/build/tasks/main.yaml +++ b/pleroma/build/tasks/main.yaml @@ -18,14 +18,14 @@ become: yes get_url: url: "https://github.com/elixir-lang/elixir/releases/download/v{{pleroma_elixir_version}}/elixir-otp-{{pleroma_erlang_otp_version}}.zip" - dest: "/tmp/elixir-{{pleroma_elixir_version}}.zip" + dest: "{{build_work_dir}}/elixir-{{pleroma_elixir_version}}.zip" force: false - name: install elixir become: yes unarchive: remote_src: yes - src: "/tmp/elixir-{{pleroma_elixir_version}}.zip" + src: "{{build_work_dir}}/elixir-{{pleroma_elixir_version}}.zip" dest: "/usr/local" creates: "/usr/local/bin/elixir" @@ -41,7 +41,7 @@ unarchive: remote_src: yes src: "{{pleroma_tar}}" - dest: "/tmp/" + dest: "{{build_work_dir}}/" creates: "{{pleroma_build_dir}}" - name: check if pleroma release exists @@ -76,13 +76,13 @@ copy: remote_src: yes src: "{{pleroma_build_dir}}/_build/prod/rel/pleroma/" - dest: "/tmp/release/" + dest: "{{pleroma_build_dir}}/release/" when: not build_file.stat.exists - name: create gz archive of pleroma release become: yes archive: - path: "/tmp/release" + path: "{{pleroma_build_dir}}/release" dest: "{{pleroma_srv_dir}}/pleroma-{{pleroma_version}}.tar.gz" format: "gz" when: not build_file.stat.exists -- cgit v1.2.3