brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · ea4f821 Raw
100 lines · yaml
1name: "Code lint"2 3permissions:4  contents: read5 6on:7  pull_request:8    branches:9      - main10      - 'users/**'11    paths:12      - 'clang-tools-extra/clang-tidy/**'13      - '.github/workflows/pr-code-lint.yml'14 15jobs:16  code_linter:17    if: github.repository_owner == 'llvm'18    runs-on: ubuntu-24.0419    defaults:20      run:21        shell: bash22    container:23      image: 'ghcr.io/llvm/ci-ubuntu-24.04-lint'24    timeout-minutes: 6025    concurrency:26      group: ${{ github.workflow }}-${{ github.ref }}27      cancel-in-progress: true28    steps:29      - name: Fetch LLVM sources30        uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.031        with:32          fetch-depth: 233      34      - name: Get changed files35        id: changed-files36        uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.037        with:38          separator: ","39          skip_initial_fetch: true40          base_sha: 'HEAD~1'41          sha: 'HEAD'42      43      - name: Listed files44        env:45          CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}46        run: |47          echo "Changed files:"48          echo "$CHANGED_FILES"49      50      # TODO: create special mapping for 'codegen' targets, for now build predefined set51      # TODO: add entrypoint in 'compute_projects.py' that only adds a project and its direct dependencies52      - name: Configure and CodeGen53        run: |54          git config --global --add safe.directory '*'55 56          . <(git diff --name-only HEAD~1...HEAD | python3 .ci/compute_projects.py)57 58          if [[ "${projects_to_build}" == "" ]]; then59            echo "No projects to analyze"60            exit 061          fi62 63          cmake -G Ninja \64                -B build \65                -S llvm \66                -DLLVM_ENABLE_ASSERTIONS=OFF \67                -DLLVM_ENABLE_PROJECTS="${projects_to_build}" \68                -DCMAKE_CXX_COMPILER=clang++ \69                -DCMAKE_C_COMPILER=clang \70                -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \71                -DLLVM_INCLUDE_TESTS=OFF \72                -DCLANG_INCLUDE_TESTS=OFF \73                -DCMAKE_BUILD_TYPE=Release74          75          ninja -C build \76                clang-tablegen-targets \77                genconfusable               # for "ConfusableIdentifierCheck.h"78 79      - name: Run code linter80        env:81          GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}82          CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}83        run: |84          echo "[]" > comments &&85          python3 llvm/utils/git/code-lint-helper.py \86            --token ${{ secrets.GITHUB_TOKEN }} \87            --issue-number $GITHUB_PR_NUMBER \88            --start-rev HEAD~1 \89            --end-rev HEAD \90            --verbose \91            --changed-files "$CHANGED_FILES"92      93      - name: Upload results94        uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.095        if: always()96        with:97          name: workflow-args98          path: |99            comments100