diff --git a/.gitea/workflows/pr-cloudflare-docker-deploy.yml b/.gitea/workflows/pr-cloudflare-docker-deploy.yml index f1581d11..00f0e49f 100644 --- a/.gitea/workflows/pr-cloudflare-docker-deploy.yml +++ b/.gitea/workflows/pr-cloudflare-docker-deploy.yml @@ -41,6 +41,20 @@ jobs: echo "Creating PR for branch: ${{ github.ref_name }}" tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }}" -d "Automatically created PR for branch: ${{ github.ref_name }}" -a ${{ github.actor }} + anisble-run: + name: Ansible Run + needs: [check-and-create-pr] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Ansible Lint + uses: ansible/ansible-lint@v24.12.2 + with: + working_directory: "./ansible" + requirements_file: "./ansible/collections/ansible_collections/requirements.yml" + docker-compose-test: name: Docker Compose Test needs: [check-and-create-pr] @@ -190,10 +204,34 @@ jobs: echo "${pr_index}" tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR #${pr_index} - ${{ github.ref_name }}" --message "Merged by ${{ github.actor }}" --output table ${pr_index} + ansible-config-deply: + name: Deploy Service Configs via Ansible + runs-on: ubuntu-latest + needs: [pr-merge] + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: main + + - name: Install Vault + uses: cpanato/vault-installer@main + + - name: Install Ansible + uses: alex-oleshkevich/setup-ansible@v1.0.1 + with: + version: "2.18.1" + + - name: Run Ansible Playbook + uses: euclid1990/actions-ansible@v2 + with: + playbook: ansible/playbook.yml + inventory: ansible/inventory + docker-compose-deploy: name: Deploy via Docker Compose runs-on: ubuntu-latest - needs: [pr-merge] + needs: [ansible-config-deploy] env: VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }} VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }} diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml deleted file mode 100644 index 79480190..00000000 --- a/.gitea/workflows/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: "Ansible Lint" - -on: # yamllint disable-line rule:truthy - pull_request: - branches: [main] - workflow_dispatch: - schedule: - - cron: '0 0 * * *' - -jobs: - ansible-lint: - uses: ansible/ansible-content-actions/.github/workflows/ansible_lint.yaml@main diff --git a/ansible/collections/ansible_collections/ansible.posix-1.4.0.info/GALAXY.yml b/ansible/collections/ansible_collections/ansible.posix-1.4.0.info/GALAXY.yml deleted file mode 100644 index 01a24999..00000000 --- a/ansible/collections/ansible_collections/ansible.posix-1.4.0.info/GALAXY.yml +++ /dev/null @@ -1,8 +0,0 @@ -download_url: https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-posix-1.4.0.tar.gz -format_version: 1.0.0 -name: posix -namespace: ansible -server: https://galaxy.ansible.com/api/ -signatures: [] -version: 1.4.0 -version_url: /api/v3/plugin/ansible/content/published/collections/index/ansible/posix/versions/1.4.0/ diff --git a/ansible/collections/ansible_collections/ansible.scm-2.0.0.info/GALAXY.yml b/ansible/collections/ansible_collections/ansible.scm-2.0.0.info/GALAXY.yml deleted file mode 100644 index 9b1b3dd1..00000000 --- a/ansible/collections/ansible_collections/ansible.scm-2.0.0.info/GALAXY.yml +++ /dev/null @@ -1,8 +0,0 @@ -download_url: https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-scm-2.0.0.tar.gz -format_version: 1.0.0 -name: scm -namespace: ansible -server: https://galaxy.ansible.com/api/ -signatures: [] -version: 2.0.0 -version_url: /api/v3/plugin/ansible/content/published/collections/index/ansible/scm/versions/2.0.0/ diff --git a/ansible/collections/ansible_collections/ansible.utils-4.0.0.info/GALAXY.yml b/ansible/collections/ansible_collections/ansible.utils-4.0.0.info/GALAXY.yml deleted file mode 100644 index 407f709a..00000000 --- a/ansible/collections/ansible_collections/ansible.utils-4.0.0.info/GALAXY.yml +++ /dev/null @@ -1,8 +0,0 @@ -download_url: https://galaxy.ansible.com/api/v3/plugin/ansible/content/published/collections/artifacts/ansible-utils-4.0.0.tar.gz -format_version: 1.0.0 -name: utils -namespace: ansible -server: https://galaxy.ansible.com/api/ -signatures: [] -version: 4.0.0 -version_url: /api/v3/plugin/ansible/content/published/collections/index/ansible/utils/versions/4.0.0/ diff --git a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/README.md b/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/README.md deleted file mode 100644 index 385e70ba..00000000 --- a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/README.md +++ /dev/null @@ -1,3 +0,0 @@ -## Azure Pipelines Configuration - -Please see the [Documentation](https://github.com/ansible/community/wiki/Testing:-Azure-Pipelines) for more information. diff --git a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/azure-pipelines.yml b/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/azure-pipelines.yml deleted file mode 100644 index e8003df5..00000000 --- a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/azure-pipelines.yml +++ /dev/null @@ -1,311 +0,0 @@ -trigger: - batch: true - branches: - include: - - main - - stable-* - -pr: - autoCancel: true - branches: - include: - - main - - stable-* - -schedules: - - cron: 0 9 * * * - displayName: Nightly - always: true - branches: - include: - - main - - stable-* - -variables: - - name: checkoutPath - value: ansible_collections/ansible/posix - - name: coverageBranches - value: main - - name: pipelinesCoverage - value: coverage - - name: entryPoint - value: tests/utils/shippable/shippable.sh - - name: fetchDepth - value: 0 - -resources: - containers: - - container: default - image: quay.io/ansible/azure-pipelines-test-container:1.9.0 - -pool: Standard - -stages: - -## Docker - - stage: Docker_devel - displayName: Docker devel - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: devel/linux/{0}/1 - targets: - - name: CentOS 7 - test: centos7 - - name: Fedora 34 - test: fedora34 - - name: Fedora 35 - test: fedora35 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 18.04 - test: ubuntu1804 - - name: Ubuntu 20.04 - test: ubuntu2004 - - stage: Docker_2_13 - displayName: Docker 2.13 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.13/linux/{0}/1 - targets: - - name: CentOS 7 - test: centos7 - - name: Fedora 34 - test: fedora34 - - name: Fedora 35 - test: fedora35 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 18.04 - test: ubuntu1804 - - name: Ubuntu 20.04 - test: ubuntu2004 - - stage: Docker_2_12 - displayName: Docker 2.12 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.12/linux/{0}/1 - targets: - - name: CentOS 6 - test: centos6 - - name: CentOS 7 - test: centos7 - - name: Fedora 33 - test: fedora33 - - name: Fedora 34 - test: fedora34 - - name: openSUSE 15 py2 - test: opensuse15py2 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 18.04 - test: ubuntu1804 - - name: Ubuntu 20.04 - test: ubuntu2004 - - stage: Docker_2_11 - displayName: Docker 2.11 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.11/linux/{0}/1 - targets: - - name: CentOS 6 - test: centos6 - - name: CentOS 7 - test: centos7 - - name: Fedora 32 - test: fedora32 - - name: Fedora 33 - test: fedora33 - - name: openSUSE 15 py2 - test: opensuse15py2 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 18.04 - test: ubuntu1804 - - name: Ubuntu 20.04 - test: ubuntu2004 - - stage: Docker_2_10 - displayName: Docker 2.10 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.10/linux/{0}/1 - targets: - - name: CentOS 6 - test: centos6 - - name: CentOS 7 - test: centos7 - - name: Fedora 30 - test: fedora30 - - name: Fedora 31 - test: fedora31 - - name: openSUSE 15 py2 - test: opensuse15py2 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 16.04 - test: ubuntu1604 - - name: Ubuntu 18.04 - test: ubuntu1804 - - stage: Docker_2_9 - displayName: Docker 2.9 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.9/linux/{0}/1 - targets: - - name: CentOS 6 - test: centos6 - - name: CentOS 7 - test: centos7 - - name: Fedora 30 - test: fedora30 - - name: Fedora 31 - test: fedora31 - - name: openSUSE 15 py2 - test: opensuse15py2 - - name: openSUSE 15 py3 - test: opensuse15 - - name: Ubuntu 16.04 - test: ubuntu1604 - - name: Ubuntu 18.04 - test: ubuntu1804 - -## Remote - - stage: Remote_devel - displayName: Remote devel - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: devel/{0}/1 - targets: - - name: MacOS 12.0 - test: macos/12.0 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.5 - test: rhel/8.5 - - name: FreeBSD 12.3 - test: freebsd/12.3 - - name: FreeBSD 13.0 - test: freebsd/13.0 - - stage: Remote_2_13 - displayName: Remote 2.13 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.13/{0}/1 - targets: - - name: MacOS 12.0 - test: macos/12.0 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.5 - test: rhel/8.5 - - name: FreeBSD 12.3 - test: freebsd/12.3 - - name: FreeBSD 13.0 - test: freebsd/13.0 - - stage: Remote_2_12 - displayName: Remote 2.12 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.12/{0}/1 - targets: - - name: MacOS 11.1 - test: macos/11.1 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.4 - test: rhel/8.4 - - name: FreeBSD 12.2 - test: freebsd/12.2 - - name: FreeBSD 13.0 - test: freebsd/13.0 - - stage: Remote_2_11 - displayName: Remote 2.11 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.11/{0}/1 - targets: - - name: MacOS 11.1 - test: macos/11.1 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.3 - test: rhel/8.3 - - name: FreeBSD 11.4 - test: freebsd/11.4 - - name: FreeBSD 12.2 - test: freebsd/12.2 - - stage: Remote_2_10 - displayName: Remote 2.10 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.10/{0}/1 - targets: - - name: OS X 10.11 - test: osx/10.11 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.2 - test: rhel/8.2 - - name: FreeBSD 11.1 - test: freebsd/11.1 - - name: FreeBSD 12.1 - test: freebsd/12.1 - - - stage: Remote_2_9 - displayName: Remote 2.9 - dependsOn: [] - jobs: - - template: templates/matrix.yml - parameters: - testFormat: 2.9/{0}/1 - targets: - - name: OS X 10.11 - test: osx/10.11 - - name: RHEL 7.9 - test: rhel/7.9 - - name: RHEL 8.1 - test: rhel/8.1 - - name: FreeBSD 11.1 - test: freebsd/11.1 - - name: FreeBSD 12.0 - test: freebsd/12.0 -## Finally - - - stage: Summary - condition: succeededOrFailed() - dependsOn: - - Remote_2_9 - - Docker_2_9 - - Remote_2_10 - - Docker_2_10 - - Remote_2_11 - - Docker_2_11 - - Remote_2_12 - - Docker_2_12 - - Remote_2_13 - - Docker_2_13 - - Remote_devel - - Docker_devel - jobs: - - template: templates/coverage.yml diff --git a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/aggregate-coverage.sh b/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/aggregate-coverage.sh deleted file mode 100755 index f3113dd0..00000000 --- a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/aggregate-coverage.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Aggregate code coverage results for later processing. - -set -o pipefail -eu - -agent_temp_directory="$1" - -PATH="${PWD}/bin:${PATH}" - -mkdir "${agent_temp_directory}/coverage/" - -options=(--venv --venv-system-site-packages --color -v) - -ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}" - -if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then - # Only analyze coverage if the installed version of ansible-test supports it. - # Doing so allows this script to work unmodified for multiple Ansible versions. - ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}" -fi diff --git a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/combine-coverage.py b/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/combine-coverage.py deleted file mode 100755 index 506ade64..00000000 --- a/ansible/collections/ansible_collections/ansible/posix/.azure-pipelines/scripts/combine-coverage.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python -""" -Combine coverage data from multiple jobs, keeping the data only from the most recent attempt from each job. -Coverage artifacts must be named using the format: "Coverage $(System.JobAttempt) {StableUniqueNameForEachJob}" -The recommended coverage artifact name format is: Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName) -Keep in mind that Azure Pipelines does not enforce unique job display names (only names). -It is up to pipeline authors to avoid name collisions when deviating from the recommended format. -""" - -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import os -import re -import shutil -import sys - - -def main(): - """Main program entry point.""" - source_directory = sys.argv[1] - - if '/ansible_collections/' in os.getcwd(): - output_path = "tests/output" - else: - output_path = "test/results" - - destination_directory = os.path.join(output_path, 'coverage') - - if not os.path.exists(destination_directory): - os.makedirs(destination_directory) - - jobs = {} - count = 0 - - for name in os.listdir(source_directory): - match = re.search('^Coverage (?P[0-9]+) (?P