mirror of
https://github.com/mudler/LocalAI.git
synced 2026-11-06 04:23:15 -05:00
ci: free runner disk for add-on jobs and fix the Memory delete spec
The add-on jobs stop in prepare.sh when less than 20 GiB is free, and the hosted runner image no longer leaves that much. Add a small script that removes the unused preinstalled toolchains in parallel and prints df before and after, and run it first in both jobs. The Memory delete spec expected one status element. The page live region and the toast container both carry role=status, so two match. Check the page live region on its own and the toast as the second. Assisted-by: Claude:claude-sonnet-5-5
This commit is contained in:
3 files changed
+48
-1
No files matched your search
@@ -83,6 +83,10 @@ jobs:
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Free disk space
|
||||
# prepare.sh stops below 20 GiB free. The hosted runner image ships
|
||||
# toolchains this job never uses; remove them before anything installs.
|
||||
run: sh scripts/ci/free-runner-disk.sh
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
@@ -149,6 +153,10 @@ jobs:
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Free disk space
|
||||
# prepare.sh stops below 20 GiB free. The hosted runner image ships
|
||||
# toolchains this job never uses; remove them before anything installs.
|
||||
run: sh scripts/ci/free-runner-disk.sh
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
|
||||
@@ -144,7 +144,9 @@ test('Delete asks first, then moves the file to the Trash', async ({ page }) =>
|
||||
await f.getByTestId('memory-delete-yes').click()
|
||||
await expect(group(page, 'notes-user:').getByTestId('memory-file')).toHaveCount(2)
|
||||
expect(s.removed).toEqual(['Memory/job.md'])
|
||||
await expect(page.getByRole('status').filter({ hasText: 'Moved job.md to the Trash.' })).toHaveCount(1)
|
||||
// The page's own live region and the toast both announce the move.
|
||||
await expect(page.locator('.sr-only[role="status"]').filter({ hasText: 'Moved job.md to the Trash.' })).toHaveCount(1)
|
||||
await expect(page.getByRole('status').filter({ hasText: 'Moved job.md to the Trash.' })).toHaveCount(2)
|
||||
})
|
||||
|
||||
test('Clear all asks to confirm, then removes every file', async ({ page }) => {
|
||||
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
# Frees disk space on a GitHub-hosted ubuntu runner before a job installs its
|
||||
# own toolchain. It removes preinstalled toolchains that the add-on jobs never
|
||||
# use. It keeps Go, Node.js, Python 3 from the OS and everything under
|
||||
# /usr/local/bin, because setup steps and the job rely on them. The deletes run
|
||||
# in parallel; the script prints df before and after.
|
||||
set -u
|
||||
echo "== disk before"
|
||||
df -h / /mnt 2>/dev/null || df -h /
|
||||
paths="
|
||||
/usr/share/dotnet
|
||||
/usr/local/lib/android
|
||||
/opt/ghc
|
||||
/usr/local/.ghcup
|
||||
/usr/local/share/powershell
|
||||
/usr/local/share/chromium
|
||||
/opt/microsoft
|
||||
/opt/az
|
||||
/usr/share/swift
|
||||
/usr/local/julia*
|
||||
/opt/hostedtoolcache/CodeQL
|
||||
/opt/hostedtoolcache/Python
|
||||
/opt/hostedtoolcache/PyPy
|
||||
/opt/hostedtoolcache/Ruby
|
||||
/opt/hostedtoolcache/Java_*
|
||||
"
|
||||
for p in $paths; do
|
||||
# Unquoted on purpose: some entries are globs.
|
||||
for match in $p; do
|
||||
[ -e "$match" ] || continue
|
||||
sudo rm -rf "$match" &
|
||||
done
|
||||
done
|
||||
sudo docker image prune --all --force >/dev/null 2>&1 &
|
||||
wait
|
||||
echo "== disk after"
|
||||
df -h / /mnt 2>/dev/null || df -h /
|
||||
Reference in new issue
Block a user