share/ansible: create roles
Create `build_container` and `ci_run` roles and move the fedora target to them. Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
This commit is contained in:
committed by
Serge Hallyn
parent
9a0cd7a231
commit
df50348a28
@@ -1,89 +1,13 @@
|
||||
- name: Start build container
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: Pull container image
|
||||
containers.podman.podman_image:
|
||||
name: registry.fedoraproject.org/fedora:latest
|
||||
|
||||
- name: Create and start container
|
||||
containers.podman.podman_container:
|
||||
name: builder
|
||||
state: started
|
||||
image: fedora:latest
|
||||
command: "sleep 1d"
|
||||
|
||||
- name: Copy repo
|
||||
ansible.builtin.shell:
|
||||
podman cp ../../ builder:/usr/local/src
|
||||
roles:
|
||||
- role: build_container
|
||||
vars:
|
||||
container_image: registry.fedoraproject.org/fedora:latest
|
||||
|
||||
- name: CI run
|
||||
hosts: builder
|
||||
connection: podman
|
||||
tasks:
|
||||
- name: Ensure dependencies are installed
|
||||
ansible.builtin.dnf:
|
||||
name:
|
||||
- dnf-plugins-core
|
||||
- libcmocka-devel
|
||||
- systemd-devel
|
||||
state: present
|
||||
|
||||
- name: Ensure build dependencies are installed
|
||||
ansible.builtin.command:
|
||||
dnf builddep -y shadow-utils
|
||||
register: dnf_result
|
||||
changed_when: '"Nothing to do" not in dnf_result.stdout'
|
||||
|
||||
- name: Build configuration
|
||||
ansible.builtin.command: >
|
||||
./autogen.sh
|
||||
--disable-account-tools-setuid
|
||||
--enable-lastlog
|
||||
--enable-logind=no
|
||||
--enable-man
|
||||
--enable-shadowgrp
|
||||
--enable-shared
|
||||
--with-audit
|
||||
--with-bcrypt
|
||||
--with-group-name-max-length=32
|
||||
--with-libpam
|
||||
--with-selinux
|
||||
--with-sha-crypt
|
||||
--with-yescrypt
|
||||
--without-libbsd
|
||||
--without-libcrack
|
||||
--without-sssd
|
||||
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 shadow repo
|
||||
ansible.builtin.fetch:
|
||||
src: '{{ item }}'
|
||||
dest: ./build-out/
|
||||
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"
|
||||
gather_facts: false
|
||||
roles:
|
||||
- role: ci_run
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
Role Name
|
||||
=========
|
||||
|
||||
Build container images.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
* `image[distribution]` defines the container image URL.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Usage example:
|
||||
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: build_container
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
Iker Pedrosa <ipedrosa@redhat.com>
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
# tasks file for build_container
|
||||
- name: Pull container image
|
||||
containers.podman.podman_image:
|
||||
name: '{{ container_image }}'
|
||||
|
||||
- name: Create and start container
|
||||
containers.podman.podman_container:
|
||||
name: builder
|
||||
state: started
|
||||
image: '{{ container_image }}'
|
||||
command: "sleep 1d"
|
||||
|
||||
- name: Create repo
|
||||
ansible.builtin.shell:
|
||||
podman exec builder mkdir -p /usr/local/src
|
||||
|
||||
- name: Copy repo
|
||||
ansible.builtin.shell:
|
||||
podman cp ../../ builder:/usr/local/src/shadow
|
||||
@@ -0,0 +1,25 @@
|
||||
Role Name
|
||||
=========
|
||||
|
||||
Build, install and test package.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Usage example:
|
||||
|
||||
- hosts: builder
|
||||
connection: podman
|
||||
gather_facts: false
|
||||
roles:
|
||||
- role: ci_run
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
Iker Pedrosa <ipedrosa@redhat.com>
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
# tasks file for ci_run
|
||||
- name: Ensure dependencies are installed
|
||||
ansible.builtin.dnf:
|
||||
name:
|
||||
- dnf-plugins-core
|
||||
- libcmocka-devel
|
||||
- systemd-devel
|
||||
state: present
|
||||
|
||||
- name: Ensure build dependencies are installed
|
||||
ansible.builtin.command:
|
||||
dnf builddep -y shadow-utils
|
||||
register: dnf_result
|
||||
changed_when: '"Nothing to do" not in dnf_result.stdout'
|
||||
|
||||
- name: Build configuration
|
||||
ansible.builtin.command: >
|
||||
./autogen.sh
|
||||
--disable-account-tools-setuid
|
||||
--enable-lastlog
|
||||
--enable-logind=no
|
||||
--enable-man
|
||||
--enable-shadowgrp
|
||||
--enable-shared
|
||||
--with-audit
|
||||
--with-bcrypt
|
||||
--with-group-name-max-length=32
|
||||
--with-libpam
|
||||
--with-selinux
|
||||
--with-sha-crypt
|
||||
--with-yescrypt
|
||||
--without-libbsd
|
||||
--without-libcrack
|
||||
--without-sssd
|
||||
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 shadow repo
|
||||
ansible.builtin.fetch:
|
||||
src: '{{ item }}'
|
||||
dest: ./build-out/
|
||||
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"
|
||||
Reference in New Issue
Block a user