summaryrefslogtreecommitdiff
path: root/roles/raspios/image/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/raspios/image/tasks/main.yml')
-rw-r--r--roles/raspios/image/tasks/main.yml55
1 files changed, 55 insertions, 0 deletions
diff --git a/roles/raspios/image/tasks/main.yml b/roles/raspios/image/tasks/main.yml
new file mode 100644
index 00000000..284b24a4
--- /dev/null
+++ b/roles/raspios/image/tasks/main.yml
@@ -0,0 +1,55 @@
+---
+- name: fetch base image
+ run_once: true
+ import_tasks: fetch.yml
+
+- name: build the image
+ block:
+ - name: create the output directory for built images
+ file:
+ path: "{{ raspios_output_dir }}"
+ state: directory
+
+ - name: Create temporary build directory
+ tempfile:
+ state: directory
+ register: tmpdir
+
+ - name: build the raspios image
+ command: >-
+ bash -c "cp '{{ raspios_download_dir }}/{{ raspios_download_image_base_name }}.zip' '{{ tmpdir.path }}/output.zip'; echo 'TODO: extract image...'"
+ register: raspios_build
+
+ - name: copy newly built raspios image
+ copy:
+ src: "{{ tmpdir.path }}/output.zip"
+ dest: "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.zip"
+
+ - name: set output image names
+ set_fact:
+ output_images:
+ - "{{ raspios_output_dir }}/{{ raspios_output_image_base_name }}.zip"
+
+ always:
+ - name: save stdout build-log to output directory
+ when: raspios_build is defined
+ copy:
+ content: "{{ raspios_build.stdout }}\n"
+ dest: "{{ raspios_output_dir }}/build-stdout.log"
+
+ - name: save stderr build-log to output directory
+ when: raspios_build is defined
+ copy:
+ content: "{{ raspios_build.stderr }}\n"
+ dest: "{{ raspios_output_dir }}/build-stderr.log"
+
+ - name: delete the temporary build directory
+ when: not raspios_keep_temporary_build_dir
+ file:
+ path: "{{ tmpdir.path }}"
+ state: absent
+
+ - name: print temporary build directory information
+ when: raspios_keep_temporary_build_dir
+ debug:
+ msg: "The temporary build directory has not been deleted, the path to the directory is: {{ tmpdir.path }}"