brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · e17e852 Raw
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