name: Setup images for AWX description: Builds new awx_devel image inputs: github-token: description: GitHub Token for registry access required: true private-github-key: description: GitHub private key for private repositories required: false default: '' runs: using: composite steps: - name: Get python version from Makefile shell: bash run: echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV - name: Set lower case owner name shell: bash run: echo "OWNER_LC=${OWNER,,}" >> $GITHUB_ENV env: OWNER: '${{ github.repository_owner }}' - name: Log in to registry shell: bash run: | echo "${{ inputs.github-token }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - name: Generate placeholder SSH private key if SSH auth for private repos is not needed id: generate_key shell: bash run: | if [[ -z "${{ inputs.private-github-key }}" ]]; then ssh-keygen -t ed25519 -C "github-actions" -N "" -f ~/.ssh/id_ed25519 echo "SSH_PRIVATE_KEY<> $GITHUB_OUTPUT cat ~/.ssh/id_ed25519 >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT else echo "SSH_PRIVATE_KEY<> $GITHUB_OUTPUT echo "${{ inputs.private-github-key }}" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT fi - name: Add private GitHub key to SSH agent uses: webfactory/ssh-agent@v0.9.0 with: ssh-private-key: ${{ steps.generate_key.outputs.SSH_PRIVATE_KEY }} - name: Pre-pull latest devel image to warm cache shell: bash run: | DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} \ COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \ docker pull -q `make print-DEVEL_IMAGE_NAME` continue-on-error: true - name: Build image for current source checkout shell: bash run: | DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER_LC} \ COMPOSE_TAG=${{ github.base_ref || github.ref_name }} \ make docker-compose-build