mirror of
https://github.com/ansible/awx.git
synced 2026-02-21 21:20:08 -03:30
* We introduced multi networks to our docker env. The code this replaces would return both networks' ip addresses concatinated i.e. '192.168.2.1192.168.2.3'.
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
|
|
outputs:
|
|
ip:
|
|
description: The IP of the tools_awx_1 container
|
|
value: ${{ steps.data.outputs.ip }}
|
|
admin-token:
|
|
description: OAuth token for admin user
|
|
value: ${{ steps.data.outputs.admin_token }}
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Build awx_devel image for running checks
|
|
uses: ./.github/actions/awx_devel_image
|
|
with:
|
|
github-token: ${{ inputs.github-token }}
|
|
|
|
- name: Upgrade ansible-core
|
|
shell: bash
|
|
run: python3 -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_TAG_BASE=ghcr.io/${{ github.repository_owner }} \
|
|
COMPOSE_TAG=${{ github.base_ref }} \
|
|
COMPOSE_UP_OPTS="-d" \
|
|
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: Build UI
|
|
# This must be a string comparison in composite actions:
|
|
# https://github.com/actions/runner/issues/2238
|
|
if: ${{ inputs.build-ui == 'true' }}
|
|
shell: bash
|
|
run: |
|
|
docker exec -i tools_awx_1 sh <<-EOSH
|
|
make ui-devel
|
|
EOSH
|
|
|
|
- name: Get instance data
|
|
id: data
|
|
shell: bash
|
|
run: |
|
|
AWX_IP=$(docker inspect -f '{{.NetworkSettings.Networks._sources_awx.IPAddress}}' tools_awx_1)
|
|
ADMIN_TOKEN=$(docker exec -i tools_awx_1 awx-manage create_oauth2_token --user admin)
|
|
echo "ip=$AWX_IP" >> $GITHUB_OUTPUT
|
|
echo "admin_token=$ADMIN_TOKEN" >> $GITHUB_OUTPUT
|