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 }} 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_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