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