]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
share/ansible: convert debian dockerfile to ansible
authorIker Pedrosa <ipedrosa@redhat.com>
Tue, 14 May 2024 15:14:05 +0000 (17:14 +0200)
committerSerge Hallyn <serge@hallyn.com>
Thu, 18 Jul 2024 15:17:29 +0000 (10:17 -0500)
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
share/ansible/roles/ci_run/tasks/debian.yml [new file with mode: 0644]

diff --git a/share/ansible/roles/ci_run/tasks/debian.yml b/share/ansible/roles/ci_run/tasks/debian.yml
new file mode 100644 (file)
index 0000000..b715e3d
--- /dev/null
@@ -0,0 +1,73 @@
+---
+# tasks file for ci_run
+- name: Ensure repos are updated
+  ansible.builtin.raw: apt update
+
+- name: Ensure python is installed
+  ansible.builtin.raw: apt install python3 -y
+
+- name: Ensure dependencies are installed
+  ansible.builtin.apt:
+    name:
+      - libbsd-dev
+      - libcmocka-dev
+      - libltdl-dev
+      - pkgconf
+    state: present
+
+- name: Gather selected facts
+  ansible.builtin.setup:
+    filter:
+      - 'ansible_distribution_release'
+
+- name: Add specified repository into sources list
+  ansible.builtin.apt_repository:
+    repo: deb-src http://deb.debian.org/debian {{ ansible_distribution_release }} main
+    state: present
+
+- name: Ensure build dependencies are installed
+  ansible.builtin.apt:
+    pkg: shadow
+    state: build-dep
+
+- name: Build configuration
+  ansible.builtin.command: >
+    ./autogen.sh
+    --enable-man
+    --with-yescrypt
+    --without-selinux
+  args:
+    chdir: /usr/local/src/shadow/
+  ignore_errors: true
+
+- name: Build
+  ansible.builtin.shell:
+    make -Orecurse -j4 > build.log
+  args:
+    chdir: /usr/local/src/shadow/
+  ignore_errors: true
+
+- name: Run unit-tests
+  ansible.builtin.command:
+    make check
+  args:
+    chdir: /usr/local/src/shadow/
+  ignore_errors: true
+
+- name: Install
+  ansible.builtin.command:
+    make install
+  args:
+    chdir: /usr/local/src/shadow/
+  ignore_errors: true
+
+- name: Copy logs
+  ansible.builtin.fetch:
+    src: '{{ item }}'
+    dest: ./build-out/
+    flat: yes
+  with_items:
+    - "/usr/local/src/shadow/config.log"
+    - "/usr/local/src/shadow/config.h"
+    - "/usr/local/src/shadow/build.log"
+    - "/usr/local/src/shadow/tests/unit/test-suite.log"