67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
# .github/workflows/update-lockfile.yml
|
|
name: Update lockfiles
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
paths:
|
|
- 'pyproject.toml'
|
|
- 'pyproject-cpu.toml'
|
|
- 'pyproject-rocm.toml'
|
|
- 'pyproject-intel.toml'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
update-lockfile:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Free up disk space
|
|
run: |
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf /opt/ghc
|
|
sudo rm -rf "/usr/local/share/boost"
|
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
echo "Disk space freed."
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v7
|
|
|
|
- name: Set up Python
|
|
run: uv python install 3.13
|
|
|
|
- name: Regenerate all lockfiles
|
|
run: |
|
|
cp pyproject.toml _pyproject_orig.toml
|
|
for variant in cpu rocm intel; do
|
|
cp pyproject-${variant}.toml pyproject.toml
|
|
uv lock
|
|
cp uv.lock uv-${variant}.lock
|
|
done
|
|
cp _pyproject_orig.toml pyproject.toml
|
|
uv lock
|
|
rm _pyproject_orig.toml
|
|
|
|
- name: Check for changes
|
|
id: diff
|
|
run: |
|
|
if git diff --quiet uv.lock uv-cpu.lock uv-rocm.lock uv-intel.lock; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Commit and push updated lockfiles
|
|
if: steps.diff.outputs.changed == 'true'
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add uv.lock uv-cpu.lock uv-rocm.lock uv-intel.lock
|
|
git commit -m "chore: update lockfiles"
|
|
git push
|