From c3800744263645299935442e30e00d8cdffabe52 Mon Sep 17 00:00:00 2001 From: Chris Hammer Date: Fri, 20 Dec 2024 12:56:20 -0500 Subject: [PATCH] Remove Drone; re-name .drone.env -> .ci.env; Add initial Actions; Tidy gitea.yml --- .drone.env => .ci.env | 1 - .drone.yml => .drone.yml.bak | 0 .gitea/workflows/ansible-test.yml | 39 ++++++++++++++ gitea.yml | 88 ++++++++++++++----------------- 4 files changed, 80 insertions(+), 48 deletions(-) rename .drone.env => .ci.env (54%) rename .drone.yml => .drone.yml.bak (100%) create mode 100644 .gitea/workflows/ansible-test.yml diff --git a/.drone.env b/.ci.env similarity index 54% rename from .drone.env rename to .ci.env index fc25e70..e521d71 100644 --- a/.drone.env +++ b/.ci.env @@ -1,4 +1,3 @@ -# export ANSIBLE_LINT_EXCLUSION="--exclude collections/ansible_collections/ansible* --exclude collections/ansible_collections/community* --exclude .gitea" export ANSIBLE_LINT_EXCLUSION="--exclude collections/ansible_collections --exclude .gitea" export ANSIBLE_INVENTORY="-i 127.0.0.1, --connection=local" export ANSIBLE_PLAYBOOK="gitea.yml" diff --git a/.drone.yml b/.drone.yml.bak similarity index 100% rename from .drone.yml rename to .drone.yml.bak diff --git a/.gitea/workflows/ansible-test.yml b/.gitea/workflows/ansible-test.yml new file mode 100644 index 0000000..91c1570 --- /dev/null +++ b/.gitea/workflows/ansible-test.yml @@ -0,0 +1,39 @@ +name: Ansible Code Pipeline +run-name: ${{ gitea.actor }} is running Ansible Code Pipeline +on: + push: + branches: + - testing + +jobs: + Ansible-Development-Pipeline: + strategy: + matrix: + os: [ ansible-dev-centos9, ansible-dev-fedora39, ansible-dev-debian12 ] + runs-on: ${{ matrix.os }} + steps: + - name: Clone repository + uses: actions/checkout@v3 + + - name: Ansible Environment Verify + run: | + whoami + . ./.ci.env + env + git log -1 + ansible --version + ansible-lint --version + + - name: Install Ansible Galaxy Dependencies + run: | + ansible-galaxy install -r requirements.yml + + - name: Run Ansible-Lint + run: | + . ./.ci.env + ansible-lint --offline $ANSIBLE_LINT_EXCLUSION + + - name: Run Ansible-Playbook + run: | + . ./.ci.env + ansible-playbook -v $ANSIBLE_INVENTORY $ANSIBLE_PLAYBOOK diff --git a/gitea.yml b/gitea.yml index 977277e..46817b4 100644 --- a/gitea.yml +++ b/gitea.yml @@ -6,90 +6,84 @@ vars: - __gitea_version : 1.22.5 - __gitea_arch : amd64 - __gitea_binary : "https://dl.gitea.io/gitea/{{ __gitea_version }}/\ + __gitea_version: 1.22.5 + __gitea_arch: amd64 + __gitea_binary: "https://dl.gitea.io/gitea/{{ __gitea_version }}/\ gitea-{{ __gitea_version }}-linux-{{ __gitea_arch }}" __gitea_user: - name : gitea - gecos : Git with a cup of tea - shell : /bin/bash - home : /home/gitea + name: gitea + gecos: Git with a cup of tea + shell: /bin/bash + home: /home/gitea tasks: - name: Install Git ansible.builtin.package: - name : git - state : present - + name: git + state: present - name: Check if Gitea is present and is correct version - ansible.builtin.command : /usr/local/bin/gitea --version - ignore_errors : true - changed_when : false - register : r_check_gitea - + ansible.builtin.command: /usr/local/bin/gitea --version + ignore_errors: true + changed_when: false + register: r_check_gitea - name: Fetch Gitea binary and notify user when : - (r_check_gitea.rc == 1 or r_check_gitea.stdout is not search(__gitea_version)) block: - name: Gitea binary not found or version mismatch - ansible.builtin.debug : - msg : "Gitea binary not found or version mismatch." + ansible.builtin.debug: + msg: "Gitea binary not found or version mismatch." - name: "Fetch Gitea {{ __gitea_version }}" ansible.builtin.get_url : - url : "{{ __gitea_binary }}" - dest : /usr/local/bin/gitea - mode : "0755" - notify : Restart Gitea - + url: "{{ __gitea_binary }}" + dest: /usr/local/bin/gitea + mode: "0755" + notify: Restart Gitea - name: Create Gitea user ansible.builtin.user: - name : "{{ __gitea_user.name }}" - comment : "{{ __gitea_user.gecos }}" - shell : "{{ __gitea_user.shell }}" - home : "{{ __gitea_user.home }}" - create_home : true - state : present - + name: "{{ __gitea_user.name }}" + comment: "{{ __gitea_user.gecos }}" + shell: "{{ __gitea_user.shell }}" + home: "{{ __gitea_user.home }}" + create_home: true + state: present - name: Create required directories ansible.builtin.file: - path : "{{ item }}" - state : directory - recurse : true - owner : "{{ __gitea_user.name }}" - group : "{{ __gitea_user.name }}" - mode : "0750" + path: "{{ item }}" + state: directory + recurse: true + owner: "{{ __gitea_user.name }}" + group: "{{ __gitea_user.name }}" + mode: "0750" loop: - /var/lib/gitea/custom - /var/lib/gitea/data - /var/lib/gitea/log - /etc/gitea - - name: Debug ansible_virtualization_type ansible.builtin.debug: var: ansible_virtualization_type verbosity: 1 - - name: Manage Gitea service when: - not ansible_virtualization_type | regex_search('(podman|docker|container)') block: - name: Deploy unit file for Gitea ansible.builtin.template: - src : templates/gitea.service.j2 - dest : /etc/systemd/system/gitea.service - owner : root - group : root - mode : "0644" + src: templates/gitea.service.j2 + dest: /etc/systemd/system/gitea.service + owner: root + group: root + mode: "0644" - name: Reload Systemd ansible.builtin.systemd: @@ -97,16 +91,16 @@ - name: Start Gitea ansible.builtin.service: - name : gitea - state : started - enabled : true + name: gitea + state: started + enabled: true handlers: - name: Restart Gitea ansible.builtin.service: - name : gitea - state : restarted + name: gitea + state: restarted when: - not ansible_virtualization_type | regex_search('(podman|docker|container)')