Ansible code bot initial configurations #194
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI | |
on: | |
pull_request: | |
push: | |
jobs: | |
molecule: | |
runs-on: ubuntu-latest | |
name: molecule | |
strategy: | |
matrix: | |
ansible_args: | |
- --skip-tags=replicas | |
- -t replicas | |
env: | |
DOCKER_API_VERSION: "1.41" | |
DEBUG_OUTPUT_DIR: /tmp/awx_operator_molecule_test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.8" | |
- name: Install Dependencies | |
run: | | |
pip install -r molecule/requirements.txt | |
- name: Install Collections | |
run: | | |
ansible-galaxy collection install -r molecule/requirements.yml | |
- name: Run Molecule | |
env: | |
MOLECULE_VERBOSITY: 3 | |
PY_COLORS: '1' | |
ANSIBLE_FORCE_COLOR: '1' | |
STORE_DEBUG_OUTPUT: true | |
run: | | |
sudo rm -f $(which kustomize) | |
make kustomize | |
KUSTOMIZE_PATH=$(readlink -f bin/kustomize) molecule test -s kind -- ${{ matrix.ansible_args }} | |
- name: Upload artifacts for failed tests if Run Molecule fails | |
if: failure() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: awx_operator_molecule_test | |
path: ${{ env.DEBUG_OUTPUT_DIR }} | |
helm: | |
runs-on: ubuntu-latest | |
name: helm | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Create k8s Kind Cluster | |
uses: helm/[email protected] | |
- name: Build operator image and load into kind | |
run: | | |
IMG=awx-operator-ci make docker-build | |
kind load docker-image --name chart-testing awx-operator-ci | |
- name: Patch pull policy for tests | |
run: | | |
kustomize edit add patch --path ../testing/pull_policy/Never.yaml | |
working-directory: config/default | |
- name: Build and lint helm chart | |
run: | | |
IMG=awx-operator-ci make helm-chart | |
helm lint ./charts/awx-operator | |
- name: Install kubeval | |
run: | | |
mkdir tmp && cd tmp | |
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz | |
tar xf kubeval-linux-amd64.tar.gz | |
sudo cp kubeval /usr/local/bin | |
working-directory: ./charts | |
- name: Run kubeval | |
run: | | |
helm template -n awx awx-operator > tmp/test.yaml | |
kubeval --strict --force-color --ignore-missing-schemas tmp/test.yaml | |
working-directory: ./charts | |
- name: Install helm chart | |
run: | | |
helm install --wait my-awx-operator --namespace awx --create-namespace ./charts/awx-operator | |
no-log: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Check no_log statements | |
run: | | |
set +e | |
no_log=$(grep -nr ' no_log:' roles | grep -v '"{{ no_log }}"') | |
if [ -n "${no_log}" ]; then | |
echo 'Please update the following no_log statement(s) with the "{{ no_log }}" value' | |
echo "${no_log}" | |
exit 1 | |
fi | |
nox-sessions: | |
uses: ./.github/workflows/reusable-nox.yml |