src.nth.io/

summaryrefslogtreecommitdiff
path: root/bin/build
diff options
context:
space:
mode:
Diffstat (limited to 'bin/build')
-rw-r--r--bin/build/defaults/main.yaml7
-rw-r--r--bin/build/tasks/main.yaml37
2 files changed, 44 insertions, 0 deletions
diff --git a/bin/build/defaults/main.yaml b/bin/build/defaults/main.yaml
new file mode 100644
index 0000000..06e07d9
--- /dev/null
+++ b/bin/build/defaults/main.yaml
@@ -0,0 +1,7 @@
+---
+
+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_srv_dir: "/var/www/build/"
diff --git a/bin/build/tasks/main.yaml b/bin/build/tasks/main.yaml
new file mode 100644
index 0000000..44c722e
--- /dev/null
+++ b/bin/build/tasks/main.yaml
@@ -0,0 +1,37 @@
+---
+
+- name: install cargo
+ become: yes
+ apt: name="cargo"
+
+- name: unarchive bin
+ unarchive:
+ remote_src: yes
+ src: "{{bin_tar}}"
+ dest: "/tmp/"
+ creates: "{{bin_build_dir}}"
+
+- name: check if bin build exists
+ stat:
+ path: "{{bin_build_dir}}/target/release/bin"
+ register: build_file
+
+- name: build bin
+ command: "cargo build --release"
+ args:
+ chdir: "{{bin_build_dir}}"
+ when: not build_file.stat.exists
+
+- name: create build server dir
+ become: yes
+ file:
+ path: "{{bin_srv_dir}}"
+ mode: "0755"
+ state: "directory"
+
+- name: copy bin to build server dir
+ become: yes
+ copy:
+ remote_src: yes
+ src: "{{bin_build_dir}}/target/release/bin"
+ dest: "{{bin_srv_dir}}/bin"