--- name: Build/Push Development Images env: LC_ALL: "C.UTF-8" # prevent ERROR: Ansible could not initialize the preferred locale: unsupported locale setting DOCKER_CACHE: "--no-cache" # using the cache will not rebuild git requirements and other things on: workflow_dispatch: push: branches: - devel - release_* - feature_* jobs: push-development-images: runs-on: ubuntu-latest timeout-minutes: 120 permissions: packages: write contents: read strategy: fail-fast: false matrix: build-targets: - image-name: awx_devel make-target: docker-compose-buildx - image-name: awx_kube_devel make-target: awx-kube-dev-buildx - image-name: awx make-target: awx-kube-buildx steps: - name: Skipping build of awx image for non-awx repository run: | echo "Skipping build of awx image for non-awx repository" exit 0 if: matrix.build-targets.image-name == 'awx' && !endsWith(github.repository, '/awx') - uses: actions/checkout@v4 with: show-progress: false - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Set GITHUB_ENV variables run: | echo "DEV_DOCKER_TAG_BASE=ghcr.io/${OWNER,,}" >> $GITHUB_ENV echo "COMPOSE_TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV echo py_version=`make PYTHON_VERSION` >> $GITHUB_ENV env: OWNER: '${{ github.repository_owner }}' - name: Install python ${{ env.py_version }} uses: actions/setup-python@v4 with: python-version: ${{ env.py_version }} - name: Log in to registry run: | echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - name: Setup node and npm for the new UI build uses: actions/setup-node@v2 with: node-version: '18' if: matrix.build-targets.image-name == 'awx' - name: Prebuild new UI for awx image (to speed up build process) run: | make ui if: matrix.build-targets.image-name == 'awx' - name: Build and push AWX devel images run: | make ${{ matrix.build-targets.make-target }}