This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [EnricoMi/publish-unit-test-result-action](https://redirect.github.com/EnricoMi/publish-unit-test-result-action) | action | minor | `v2.23.0` → `v2.24.0` | | | [actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance) | action | patch | `v4.1.0` → `v4.1.1` | | | [actions/checkout](https://redirect.github.com/actions/checkout) | action | patch | `v6.0.2` → `v6.0.3` | | | [actions/checkout](https://redirect.github.com/actions/checkout) | action | patch | `v6.0.1` → `v6.0.3` | | | [actions/create-github-app-token](https://redirect.github.com/actions/create-github-app-token) | action | minor | `v3.1.1` → `v3.2.0` | | | [actions/labeler](https://redirect.github.com/actions/labeler) | action | minor | `v6.0.1` → `v6.2.0` | | | [actions/setup-node](https://redirect.github.com/actions/setup-node) | action | minor | `v6.3.0` → `v6.5.0` | | | [actions/setup-python](https://redirect.github.com/actions/setup-python) | action | minor | `v6.2.0` → `v6.3.0` | | | [actions/upload-artifact](https://redirect.github.com/actions/upload-artifact) | action | patch | `v7.0.0` → `v7.0.1` | | | [aminya/setup-cpp](https://redirect.github.com/aminya/setup-cpp) | action | patch | `v1.8.0` → `v1.8.1` | | | [docker/login-action](https://redirect.github.com/docker/login-action) | action | minor | `v4.1.0` → `v4.4.0` | | | ghcr.io/llvm/amd64/ci-ubuntu-24.04-github-automation | container | digest | `82b5304` → `f419363` | | | ghcr.io/llvm/ci-ubuntu-24.04 | container | digest | `cc4fd65` → `26c16c2` | | | ghcr.io/llvm/ci-ubuntu-24.04-abi-tests | container | digest | `cb3aea3` → `a948062` | | | ghcr.io/llvm/ci-ubuntu-24.04-lint | container | digest | `91665a4` → `416874e` | | | ghcr.io/llvm/libc-ubuntu-24.04 | container | digest | `a902fb5` → `b9c8ea7` | | | [github/codeql-action](https://redirect.github.com/github/codeql-action) | action | minor | `v4.35.2` → `v4.37.0` | `v4.37.1` | | [hendrikmuhs/ccache-action](https://redirect.github.com/hendrikmuhs/ccache-action) | action | patch | `v1.2.22` → `v1.2.23` | | | [zizmorcore/zizmor-action](https://redirect.github.com/zizmorcore/zizmor-action) | action | minor | `v0.5.3` → `v0.6.0` | |
99 lines
3.5 KiB
YAML
99 lines
3.5 KiB
YAML
name: "Check LLVM ABI annotations"
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
if: github.repository_owner == 'llvm'
|
|
name: Check LLVM_ABI annotations with ids
|
|
runs-on: ubuntu-24.04
|
|
container:
|
|
image: 'ghcr.io/llvm/ci-ubuntu-24.04-ids-checks:latest@sha256:c80bc0f562592a850f4460bcec6cba339fe21b29bb80763cc621fb01ed0e3883'
|
|
timeout-minutes: 20
|
|
|
|
steps:
|
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
with:
|
|
persist-credentials: false
|
|
path: ${{ github.workspace }}/llvm-project
|
|
fetch-depth: 2
|
|
|
|
- name: Get changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
|
|
with:
|
|
path: "./llvm-project"
|
|
separator: ","
|
|
skip_initial_fetch: true
|
|
base_sha: 'HEAD~1'
|
|
sha: 'HEAD'
|
|
|
|
- name: Configure and build minimal LLVM for use by ids
|
|
run: |
|
|
cmake -B ./llvm-project/build/ \
|
|
-S ./llvm-project/llvm/ \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D CMAKE_C_COMPILER=clang \
|
|
-D CMAKE_CXX_COMPILER=clang++ \
|
|
-D LLVM_ENABLE_PROJECTS=clang \
|
|
-D LLVM_TARGETS_TO_BUILD="host" \
|
|
-D LLVM_INCLUDE_TESTS=OFF \
|
|
-D LLVM_INCLUDE_BENCHMARKS=OFF \
|
|
-D CMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
|
-D CMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
|
|
-G Ninja
|
|
|
|
# Build the generated-header prerequisites that idt needs to parse
|
|
# LLVM source.
|
|
BUILD_DIR=./llvm-project/build
|
|
ninja -C "$BUILD_DIR" \
|
|
llvm_vcsrevision_h \
|
|
intrinsics_gen omp_gen acc_gen analysis_gen target_parser_gen vt_gen \
|
|
DllOptionsTableGen LibOptionsTableGen \
|
|
clang-tablegen-targets \
|
|
lib/ExecutionEngine/JITLink/COFFOptions.inc
|
|
|
|
# Build per-target tablegen output for every enabled target.
|
|
# Each enabled target exposes a top-level `<Target>CommonTableGen`
|
|
# phony rule (e.g. `X86CommonTableGen`); discover them from the
|
|
# ninja graph.
|
|
TABLEGEN_TARGETS=$(ninja -C "$BUILD_DIR" -t targets all \
|
|
| awk -F: '
|
|
$2 ~ /phony/ && # phony rules only
|
|
$1 !~ /\// && # top-level (skip nested paths)
|
|
$1 ~ /CommonTableGen$/ { # per-target tablegen aggregator
|
|
print $1
|
|
}')
|
|
ninja -C "$BUILD_DIR" $TABLEGEN_TARGETS
|
|
|
|
- name: Run ids check
|
|
env:
|
|
GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
|
run: |
|
|
echo "[]" > comments &&
|
|
python ./llvm-project/llvm/utils/git/ids-check-helper.py \
|
|
--token ${{ secrets.GITHUB_TOKEN }} \
|
|
--issue-number $GITHUB_PR_NUMBER \
|
|
--idt-path $(which idt) \
|
|
--compile-commands ./llvm-project/build/compile_commands.json \
|
|
--start-rev HEAD~1 \
|
|
--end-rev HEAD \
|
|
--changed-files "$CHANGED_FILES" \
|
|
--verbose
|
|
|
|
- name: Upload results
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
if: always()
|
|
with:
|
|
name: workflow-args
|
|
path: |
|
|
llvm-project/comments
|