78 lines · yaml
1name: Build CI Tooling Containers2 3permissions:4 contents: read5 6on:7 push:8 branches:9 - main10 paths:11 - .github/workflows/build-ci-container-tooling.yml12 - '.github/workflows/containers/github-action-ci-tooling/**'13 - llvm/utils/git/requirements_formatting.txt14 - llvm/utils/git/requirements_linting.txt15 - '.github/actions/build-container/**'16 - '.github/actions/push-container/**'17 pull_request:18 paths:19 - .github/workflows/build-ci-container-tooling.yml20 - '.github/workflows/containers/github-action-ci-tooling/**'21 - llvm/utils/git/requirements_formatting.txt22 - llvm/utils/git/requirements_linting.txt23 - '.github/actions/build-container/**'24 - '.github/actions/push-container/**'25 26jobs:27 build-ci-container-tooling:28 name: Build Container ${{ matrix.container-name }}29 if: github.repository_owner == 'llvm'30 runs-on: ubuntu-24.0431 strategy:32 fail-fast: false33 matrix:34 include:35 - container-name: format36 test-command: 'cd $HOME && clang-format --version | grep version && git-clang-format -h | grep usage && black --version | grep black'37 - container-name: lint38 test-command: 'cd $HOME && clang-tidy --version | grep version && clang-tidy-diff.py -h | grep usage'39 - container-name: abi-tests40 test-command: 'cd $HOME && abi-compliance-checker --help'41 target: abi-tests42 steps:43 - name: Checkout LLVM44 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.045 with:46 sparse-checkout: |47 .github/workflows/containers/github-action-ci-tooling/48 llvm/utils/git/requirements_formatting.txt49 llvm/utils/git/requirements_linting.txt50 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py51 .github/actions/build-container52 53 - name: Build Container54 uses: ./.github/actions/build-container55 with:56 container-name: ci-ubuntu-24.04-${{ matrix.container-name }}57 dockerfile: .github/workflows/containers/github-action-ci-tooling/Dockerfile58 target: ci-container-${{ matrix.target || format('code-{0}', matrix.container-name) }}59 test-command: ${{ matrix.test-command }}60 61 push-ci-container:62 if: github.event_name == 'push'63 needs:64 - build-ci-container-tooling65 permissions:66 packages: write67 runs-on: ubuntu-24.0468 steps:69 - name: Checkout LLVM70 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.071 with:72 sparse-checkout: |73 .github/actions/push-container74 75 - uses: ./.github/actions/push-container76 with:77 token: ${{ secrets.GITHUB_TOKEN }}78