1 # This file defines an action that builds the various Docker images used to run
2 # libc++ CI whenever modifications to those Docker files are pushed to `main`.
4 # The images are pushed to the LLVM package registry at https://github.com/orgs/llvm/packages
5 # and tagged appropriately. The selection of which Docker image version is used by the libc++
6 # CI nodes at any given point is controlled from the workflow files themselves.
8 name: Build Docker images for libc++ CI
19 - 'libcxx/utils/ci/**'
20 - '.github/workflows/libcxx-build-containers.yml'
25 - 'libcxx/utils/ci/**'
26 - '.github/workflows/libcxx-build-containers.yml'
30 runs-on: ubuntu-latest
31 if: github.repository_owner == 'llvm'
36 - uses: actions/checkout@v4
38 - name: Build the Linux builder image
39 working-directory: libcxx/utils/ci
40 run: docker compose build actions-builder
42 TAG: ${{ github.sha }}
44 # - name: Build the Android builder image
45 # working-directory: libcxx/utils/ci
46 # run: docker compose build android-buildkite-builder
48 # TAG: ${{ github.sha }}
50 - name: Log in to GitHub Container Registry
51 uses: docker/login-action@v3
54 username: ${{ github.actor }}
55 password: ${{ secrets.GITHUB_TOKEN }}
57 - name: Push the Linux builder image
58 if: github.event_name == 'push'
59 working-directory: libcxx/utils/ci
61 docker compose push actions-builder
63 TAG: ${{ github.sha }}
65 # - name: Push the Android builder image
66 # if: github.event_name == 'push'
67 # working-directory: libcxx/utils/ci
69 # docker compose push android-buildkite-builder
71 # TAG: ${{ github.sha }}