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: | while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' -k https://localhost:8043/api/v2/ping/)" != "200" ]] do 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 '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 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