mirror of
https://github.com/ansible/awx.git
synced 2026-02-14 01:34:45 -03:30
* Fix CI: Use Python 3.13 for ansible-test compatibility ansible-test only supports Python 3.11, 3.12, and 3.13. Changed collection-integration jobs from '3.x' to '3.13' to avoid using Python 3.14 which is not supported. * Fix ansible-test Python version for CI integration tests ansible-test only supports Python 3.11, 3.12, and 3.13. Added ANSIBLE_TEST_PYTHON_VERSION variable to explicitly pass --python 3.13 flag to ansible-test integration command. This prevents ansible-test from auto-detecting and using Python 3.14.0, which is not supported. * Fix CI: Execute ansible-test with Python 3.13 to avoid unsupported Python 3.14 * Fix CI: Use Python 3.13 across all jobs to avoid Python 3.14 compatibility issues * Fix CI: Use 'python' and 'ansible.test' module for Python 3.13 compatibility * Fix CI: Use 'python' instead of 'python3' for Python 3.13 compatibility * Fix CI: Ensure ansible-test uses Python 3.13 environment explicitly * Fix: Remove silent failure check for ansible-core in test suite * Fix CI: Export PYTHONPATH to make awxkit available to ansible-test * Fix CI: Use 'python' in run_awx_devel to maintain Python 3.13 environment * Fix CI: Remove setup-python from awx_devel_image that was resetting Python 3.13 to 3.14
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
name: Run AWX docker-compose
|
|
description: Runs AWX with `make docker-compose`
|
|
inputs:
|
|
github-token:
|
|
description: GitHub Token to pass to awx_devel_image
|
|
required: true
|
|
build-ui:
|
|
description: Should the UI be built?
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
private-github-key:
|
|
description: GitHub private key for private repositories
|
|
required: false
|
|
default: ''
|
|
outputs:
|
|
ip:
|
|
description: The IP of the tools_awx_1 container
|
|
value: ${{ steps.data.outputs.ip }}
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Disable apparmor for rsyslogd, first step
|
|
shell: bash
|
|
run: sudo ln -s /etc/apparmor.d/usr.sbin.rsyslogd /etc/apparmor.d/disable/
|
|
|
|
- name: Disable apparmor for rsyslogd, second step
|
|
shell: bash
|
|
run: sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.rsyslogd
|
|
|
|
- name: Build awx_devel image for running checks
|
|
uses: ./.github/actions/awx_devel_image
|
|
with:
|
|
github-token: ${{ inputs.github-token }}
|
|
private-github-key: ${{ inputs.private-github-key }}
|
|
|
|
- name: Upgrade ansible-core
|
|
shell: bash
|
|
run: python -m pip install --upgrade ansible-core
|
|
|
|
- name: Install system deps
|
|
shell: bash
|
|
run: sudo apt-get install -y gettext
|
|
|
|
- name: Start AWX
|
|
shell: bash
|
|
run: |
|
|
DEV_DOCKER_OWNER=${{ github.repository_owner }} \
|
|
COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \
|
|
DJANGO_COLORS=nocolor \
|
|
SUPERVISOR_ARGS="-n -t" \
|
|
COMPOSE_UP_OPTS="-d --no-color" \
|
|
make docker-compose
|
|
|
|
- name: Update default AWX password
|
|
shell: bash
|
|
run: |
|
|
SECONDS=0
|
|
while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' -k https://localhost:8043/api/v2/ping/)" != "200" ]]; do
|
|
if [[ $SECONDS -gt 600 ]]; then
|
|
echo "Timing out, AWX never came up"
|
|
exit 1
|
|
fi
|
|
echo "Waiting for AWX..."
|
|
sleep 5
|
|
done
|
|
echo "AWX is up, updating the password..."
|
|
docker exec -i tools_awx_1 sh <<-EOSH
|
|
awx-manage update_password --username=admin --password=password
|
|
EOSH
|
|
|
|
- name: Get instance data
|
|
id: data
|
|
shell: bash
|
|
run: |
|
|
AWX_IP=$(docker inspect -f '{{.NetworkSettings.Networks.awx.IPAddress}}' tools_awx_1)
|
|
echo "ip=$AWX_IP" >> $GITHUB_OUTPUT
|