Skip to content

Test installation assistant - System CentOS 8 - Launched by @davidcr01 #12

Test installation assistant - System CentOS 8 - Launched by @davidcr01

Test installation assistant - System CentOS 8 - Launched by @davidcr01 #12

run-name: Test installation assistant - System ${{ inputs.SYSTEM }} - Launched by @${{ github.actor }}
name: Test installation assistant
on:
pull_request:
paths:
- 'cert_tool/**'
- 'common_functions/**'
- 'config/**'
- 'install_functions/**'
- 'passwords_tool/**'
- 'tests/**'
workflow_dispatch:
inputs:
REPOSITORY:
description: 'Repository environment'
required: true
default: 'pre-release'
type: choice
options:
- staging
- pre-release
AUTOMATION_REFERENCE:
description: 'Branch or tag of the wazuh-automation repository'
required: true
default: '4.10.0'
SYSTEM:
description: 'Operating System'
required: true
default: 'CentOS 8'
type: choice
options:
- CentOS 7
- CentOS 8
- Amazon Linux 2
- Ubuntu 16
- Ubuntu 18
- Ubuntu 20
- Ubuntu 22
- RHEL7
- RHEL8
DEBUG:
description: 'Debug mode'
required: true
default: false
type: boolean
DESTROY:
description: 'Destroy instances after run'
required: true
default: true
type: boolean
env:
LABEL: ubuntu-latest
COMPOSITE_NAME: "linux-SUBNAME-amd64"
SESSION_NAME: "Installation-Assistant-Test"
REGION: "us-east-1"
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
initialize-environment:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: View parameters
run: echo "${{ toJson(inputs) }}"
- name: Set COMPOSITE_NAME variable
run: |
case "${{ inputs.SYSTEM }}" in
"CentOS 7")
SUBNAME="centos-7"
;;
"CentOS 8")
SUBNAME="centos-8"
;;
"Amazon Linux 2")
SUBNAME="amazon-2"
;;
"Ubuntu 16")
SUBNAME="ubuntu-16.04"
;;
"Ubuntu 18")
SUBNAME="ubuntu-18.04"
;;
"Ubuntu 20")
SUBNAME="ubuntu-20.04"
;;
"Ubuntu 22")
SUBNAME="ubuntu-22.04"
;;
"RHEL7")
SUBNAME="redhat-7"
;;
"RHEL8")
SUBNAME="redhat-8"
;;
*)
echo "Invalid SYSTEM selection" >&2
exit 1
;;
esac
echo "${{ env.COMPOSITE_NAME }}"
COMPOSITE_NAME="${COMPOSITE_NAME/SUBNAME/$SUBNAME}"
echo $COMPOSITE_NAME
echo "COMPOSITE_NAME=$COMPOSITE_NAME" >> $GITHUB_ENV
- name: Install Ansible
run: sudo apt-get update && sudo apt-add-repository ppa:ansible/ansible && sudo apt install -y ansible
- name: Set up AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: "${{ env.SESSION_NAME }}"
aws-region: "${{ env.REGION }}"
- name: Checkout wazuh/wazuh-automation repository
uses: actions/checkout@v4
with:
repository: wazuh/wazuh-automation
ref: ${{ inputs.AUTOMATION_REFERENCE }}
token: ${{ secrets.GH_CLONE_TOKEN }}
- name: Install and set Allocator requirements
run: |
pip3 install -r deployability/deps/requirements.txt
cd deployability/
pip3 install modules/