73 lines · yaml
1name: Build CI Container2 3permissions:4 contents: read5 6on:7 push:8 branches:9 - main10 paths:11 - .github/workflows/build-ci-container.yml12 - '.github/workflows/containers/github-action-ci/**'13 - '.github/actions/build-container/**'14 - '.github/actions/push-container/**'15 pull_request:16 paths:17 - .github/workflows/build-ci-container.yml18 - '.github/workflows/containers/github-action-ci/**'19 - '.github/actions/build-container/**'20 - '.github/actions/push-container/**'21 22jobs:23 build-ci-container:24 name: Build Container ${{ matrix.container-name }} ${{ (contains(matrix.runs-on, 'arm') && 'ARM64') || 'X64' }}25 if: github.repository_owner == 'llvm'26 runs-on: ${{ matrix.runs-on }}27 strategy:28 matrix:29 runs-on:30 - depot-ubuntu-24.04-1631 - depot-ubuntu-24.04-arm-1632 container-name:33 - ''34 - agent35 test-command:36 - cd $HOME && printf '#include <iostream>\nint main(int argc, char **argv) { std::cout << "Hello\\n"; }' | clang++ -x c++ - && ./a.out | grep Hello37 steps:38 - name: Checkout LLVM39 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.040 with:41 sparse-checkout: |42 .github/workflows/containers/github-action-ci/43 .github/actions/build-container44 45 - name: Build Container46 uses: ./.github/actions/build-container47 with:48 container-name: ci-ubuntu-24.04${{ matrix.container-name && format('-{0}', matrix.container-name)}}49 context: .github/workflows/containers/github-action-ci/50 dockerfile: .github/workflows/containers/github-action-ci/Dockerfile51 target: ci-container${{ matrix.container-name && format('-{0}', matrix.container-name) }}52 test-command: ${{ matrix.test-command }}53 54 push-ci-container:55 if: github.event_name == 'push'56 needs:57 - build-ci-container58 permissions:59 packages: write60 runs-on: ubuntu-24.0461 env:62 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}63 steps:64 - name: Checkout LLVM65 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.066 with:67 sparse-checkout: |68 .github/actions/push-container69 70 - uses: ./.github/actions/push-container71 with:72 token: ${{ secrets.GITHUB_TOKEN }}73