Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9204bab
mlir_aie_wheels: hash-lock build-time and CI auxiliary deps
hunhoffe May 13, 2026
0499429
CI: replace ad-hoc pip installs with --require-hashes lockfile reads
hunhoffe May 13, 2026
85e4063
mlir_aie_wheels: fix lockfile resolution for matrix Pythons + Windows
hunhoffe May 13, 2026
041f45c
mlir_aie_wheels: regenerate lockfiles without the uv dependency
hunhoffe May 13, 2026
5b6b5c6
ci: pin all GitHub Actions to commit SHA
hunhoffe May 29, 2026
b6c0865
ci: scope GITHUB_TOKEN permissions per workflow
hunhoffe May 29, 2026
b298ff8
ci: hash-pin python/requirements_dev for CI consumers
hunhoffe May 29, 2026
49e108f
wheels: ship LICENSE in mlir-aie and mlir distro wheels
hunhoffe May 29, 2026
4e65d34
wheels: surface source repo + project metadata on PyPI
hunhoffe May 29, 2026
0233e37
wheels: hash-pin mlir distro build deps
hunhoffe May 29, 2026
0239cda
ci: validate wheel metadata with twine check before upload
hunhoffe May 29, 2026
f2c9a9c
ci: smoke-test built mlir_aie wheel in a clean venv
hunhoffe May 29, 2026
8c168c9
ci: emit SLSA build-provenance attestations for each wheel
hunhoffe May 29, 2026
2498202
wheels: drop aie-lsp-server and aie-visualize from PyPI-bound wheel
hunhoffe May 29, 2026
9c950bb
ci: dry-run PyPI publish — strip + size + twine check, no upload
hunhoffe May 29, 2026
56fa651
ci: drop the stripped-wheel artifacts from the rehearsal
hunhoffe May 29, 2026
7056103
wheels: drop static .a archives from the PyPI-bound wheel
hunhoffe May 29, 2026
09409e7
ci: rehearsal uses llvm-strip so PE wheels also get measured
hunhoffe May 29, 2026
278c0e5
wheels: drop leaked build artifacts from the install prefix
hunhoffe May 29, 2026
7201a1f
wheels: drop C++ dev headers and cmake configs from PyPI-bound wheel
hunhoffe May 29, 2026
2f1dcef
wheels: keep Maksim as author, add AMD as maintainer (mlir distro)
hunhoffe May 29, 2026
cd50c7f
wheels: trim setup.py comments and move LICENSE copy near setup()
hunhoffe May 29, 2026
2a740b0
Merge branch 'main' into dep-pinning-branch
hunhoffe May 29, 2026
15f3f7b
ci: gate patchelf as Linux-only in requirements_dev.lock
hunhoffe May 29, 2026
fd5e6b0
ci: grant packages: read to workflows that pull ghcr.io base images
hunhoffe May 29, 2026
e1be2be
ci: regenerate all lockfiles with uv universal resolver
hunhoffe May 29, 2026
6ed8ecd
fix(numpy): make tensor.py and event_trace test numpy-2.x safe
hunhoffe May 29, 2026
cd735e7
ci: bump numpy>=2.3 + switch cibw to python -m pip install on Windows
hunhoffe May 29, 2026
1d56d0e
ci: smoke test uses python -m pip too (Windows pip self-modify)
hunhoffe May 30, 2026
3739a51
ci: use python -m pip install for hash-required installs everywhere
hunhoffe May 30, 2026
96892e8
ci: fix double 'python -m python -m' from the pip-install sweep
hunhoffe May 30, 2026
3564292
ci: drop duplicate permissions block in mlirDistro upload job
hunhoffe May 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .github/workflows/buildAndTestAieTools.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: Build and Test with AIE tools

permissions:
contents: read
packages: read

on:
push:
branches:
Expand Down Expand Up @@ -41,7 +45,7 @@ jobs:
steps:

- name: Free disk space
uses: descriptinc/free-disk-space@main
uses: descriptinc/free-disk-space@1b4b157593c6801212a2ed488c205e0a810b4592 # main
with:
tool-cache: true
android: true
Expand All @@ -55,7 +59,7 @@ jobs:
run: |
docker system prune -a -f

- uses: uraimo/run-on-arch-action@v3
- uses: uraimo/run-on-arch-action@fd7aa8593480287702b446a273a68f788a9bad3a # v3
name: Run commands
id: runcmd
with:
Expand Down Expand Up @@ -90,7 +94,7 @@ jobs:
--requirements python/requirements.txt \
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

VERSION=$(utils/clone-llvm.sh --get-wheel-version)
pip -q download mlir==$VERSION \
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/buildAndTestAieToolsHsaBuildOnly.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: Build and Test with AIE tools with HSA backend and build only tests

permissions:
contents: read
packages: read

on:
# push:
# branches:
Expand Down Expand Up @@ -41,7 +45,7 @@ jobs:
steps:

- name: Free disk space
uses: descriptinc/free-disk-space@main
uses: descriptinc/free-disk-space@1b4b157593c6801212a2ed488c205e0a810b4592 # main
with:
tool-cache: true
android: true
Expand All @@ -55,7 +59,7 @@ jobs:
run: |
docker system prune -a -f

- uses: uraimo/run-on-arch-action@v3
- uses: uraimo/run-on-arch-action@fd7aa8593480287702b446a273a68f788a9bad3a # v3
name: Run commands
id: runcmd
with:
Expand Down Expand Up @@ -114,7 +118,7 @@ jobs:
--requirements python/requirements.txt \
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

VERSION=$(utils/clone-llvm.sh --get-wheel-version)
pip -q download mlir==$VERSION \
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/buildAndTestMulti.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: Compile across platforms

permissions:
contents: read

on:
push:
branches:
Expand Down Expand Up @@ -69,12 +72,12 @@ jobs:
# Clone the repo and its submodules. Do shallow clone to save clone
# time.
- name: Get the project repository
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 2
submodules: "true"

- uses: actions/setup-python@v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.12'

Expand All @@ -85,10 +88,10 @@ jobs:
--requirements python/requirements.txt \
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

- name: Setup Cpp
uses: aminya/setup-cpp@1f17f92d6a52bfcb1a25348e2c526c2e5cbb1134
uses: aminya/setup-cpp@1f17f92d6a52bfcb1a25348e2c526c2e5cbb1134 # v1.8.0
with:
compiler: ${{ matrix.COMPILER }}
vcvarsall: ${{ contains(matrix.OS, 'windows') }}
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/buildAndTestPythons.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: Build and Test across Python versions

permissions:
contents: read

on:
push:
branches:
Expand Down Expand Up @@ -44,12 +47,12 @@ jobs:
# Clone the repo and its submodules. Do shallow clone to save clone
# time.
- name: Get the project repository
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 2
submodules: "true"

- uses: actions/setup-python@v6
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: ${{ matrix.python_version }}

Expand All @@ -60,7 +63,7 @@ jobs:
--requirements python/requirements.txt \
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

- name: Install packages
run: |
Expand All @@ -75,7 +78,7 @@ jobs:
unzip -q mlir-*.whl

- name: Ccache for C++ compilation
uses: hendrikmuhs/ccache-action@v1.2
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2
with:
# Since there are now several compilation jobs running in parallel,
# use a different key per job to avoid a ccache writing race condition
Expand Down
15 changes: 9 additions & 6 deletions .github/workflows/buildAndTestRyzenAI.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: Build and Test with AIE tools on Ryzen AI

permissions:
contents: read

on:
push:
branches:
Expand Down Expand Up @@ -67,15 +70,15 @@ jobs:
NPU_CACHE_HOME: ${{ github.workspace }}/iron-cache-${{ matrix.runner_type }}-${{ github.run_id }}
PIP_CACHE_DIR: ${{ github.workspace }}/.pip-cache-${{ matrix.runner_type }}-${{ github.run_id }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
submodules: "true"

# Launch an ssh session via a proxy server if there is a need
# for debug. This seems to live for 35 min max
# https://github.com/mxschmitt/action-tmate
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
uses: mxschmitt/action-tmate@c0afd6f790e3a5564914980036ebf83216678101 # v3
# To run this, launch it manually on the default branch and
# click on "launch_tmate_terminal_for_debug"
if: github.event_name == 'workflow_dispatch'
Expand All @@ -93,7 +96,7 @@ jobs:
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_ml.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

# Install llvm-aie (Peano) which is needed for unittests requiring compiling NPU code
pip install -I llvm-aie -f https://github.com/Xilinx/llvm-aie/releases/expanded_assets/nightly
Expand Down Expand Up @@ -162,15 +165,15 @@ jobs:
NPU_CACHE_HOME: ${{ github.workspace }}/iron-cache-${{ matrix.runner_type }}-${{ github.run_id }}
PIP_CACHE_DIR: ${{ github.workspace }}/.pip-cache-${{ matrix.runner_type }}-${{ github.run_id }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
submodules: "true"

# Launch an ssh session via a proxy server if there is a need
# for debug. This seems to live for 35 min max
# https://github.com/mxschmitt/action-tmate
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
uses: mxschmitt/action-tmate@c0afd6f790e3a5564914980036ebf83216678101 # v3
# To run this, launch it manually on the default branch and
# click on "launch_tmate_terminal_for_debug"
if: github.event_name == 'workflow_dispatch'
Expand All @@ -185,7 +188,7 @@ jobs:
# quick_setup changes directory to programming_examples, so we need to return to mlir-aie
cd ..
pip install --upgrade pip
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

./utils/build-mlir-aie-from-wheels.sh

Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/buildAndTestRyzenAISw.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: Build and Test with Ryzen AI Sofware

permissions:
contents: read
packages: read

on:
push:
branches:
Expand Down Expand Up @@ -41,7 +45,7 @@ jobs:
steps:

- name: Free disk space
uses: descriptinc/free-disk-space@main
uses: descriptinc/free-disk-space@1b4b157593c6801212a2ed488c205e0a810b4592 # main
with:
tool-cache: true
android: true
Expand All @@ -55,10 +59,10 @@ jobs:
run: |
docker system prune -a -f

- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
submodules: "true"
- uses: uraimo/run-on-arch-action@v3
- uses: uraimo/run-on-arch-action@fd7aa8593480287702b446a273a68f788a9bad3a # v3
name: Build and Test
id: runcmd
with:
Expand Down Expand Up @@ -98,6 +102,9 @@ jobs:
--requirements python/requirements.txt \
--install-non-eudsl
pip install -r python/requirements_ml.txt
# Ryzen AI 1.3 SDK is cp310-only (see python3.10 sed above).
# requirements_dev.lock targets py>=3.11 (drops cibuildwheel 3.x
# transitively); fall back to the loose .txt here.
pip install -r python/requirements_dev.txt

VERSION=$(utils/clone-llvm.sh --get-wheel-version)
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/buildAndTestVitis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: Build and Test with Vitis 2025.1

permissions:
contents: read

on:
push:
branches:
Expand Down Expand Up @@ -63,15 +66,15 @@ jobs:
env:
NPU_CACHE_HOME: ${{ github.workspace }}/iron-cache-${{ matrix.runner_type }}-${{ github.run_id }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
submodules: "true"

# Launch an ssh session via a proxy server if there is a need
# for debug. This seems to live for 35 min max
# https://github.com/mxschmitt/action-tmate
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
uses: mxschmitt/action-tmate@c0afd6f790e3a5564914980036ebf83216678101 # v3
# To run this, launch it manually on the default branch and
# click on "launch_tmate_terminal_for_debug"
if: github.event_name == 'workflow_dispatch'
Expand All @@ -90,7 +93,7 @@ jobs:
--install-non-eudsl
pip install -r python/requirements_notebook.txt
pip install -r python/requirements_ml.txt
pip install -r python/requirements_dev.txt
python -m pip install --require-hashes -r python/requirements_dev.lock

# Install llvm-aie (Peano) which is needed for unittests requiring compiling NPU code
pip install -I llvm-aie -f https://github.com/Xilinx/llvm-aie/releases/expanded_assets/nightly
Expand Down
Loading