Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
29 changes: 29 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,21 @@ jobs:
# the login password doesn't matter, but the keyring must be unlocked for the tests to work
run: gnome-keyring-daemon --components=secrets --daemonize --unlock <<< 'foobar'

- name: "Create btrfs filesystem"
run: |
sudo apt-get install -y btrfs-progs
truncate -s 1G /tmp/btrfs.img
mkfs.btrfs /tmp/btrfs.img
sudo mkdir /btrfs
sudo mount -o loop /tmp/btrfs.img /btrfs
sudo chown "$(id -u):$(id -g)" /btrfs

- name: "Create tmpfs filesystem"
run: |
sudo mkdir /tmpfs
sudo mount -t tmpfs -o size=256m tmpfs /tmpfs
sudo chown "$(id -u):$(id -g)" /tmpfs

- name: "Install cargo nextest"
uses: taiki-e/install-action@542cebaaed782771e619bd5609d97659d109c492 # v2.66.7
with:
Expand All @@ -70,6 +85,9 @@ jobs:
# Retry more than default to reduce flakes in CI
UV_HTTP_RETRIES: 5
RUST_BACKTRACE: 1
UV_INTERNAL__TEST_COW_FS: /btrfs
UV_INTERNAL__TEST_NOCOW_FS: /tmpfs
UV_INTERNAL__TEST_ALT_FS: /tmpfs
run: |
cargo nextest run \
--cargo-profile fast-build \
Expand Down Expand Up @@ -97,6 +115,12 @@ jobs:
- name: "Install Rust toolchain"
run: rustup show

- name: "Create HFS+ RAM disk (no reflink support)"
run: |
RAMDISK=$(hdiutil attach -nomount ram://524288 | xargs)
diskutil eraseDisk HFS+ NoReflink "$RAMDISK"
echo "HFS_MOUNT=/Volumes/NoReflink" >> "$GITHUB_ENV"

- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
with:
version: "0.10.2"
Expand All @@ -114,6 +138,11 @@ jobs:
# Retry more than default to reduce flakes in CI
UV_HTTP_RETRIES: 5
RUST_BACKTRACE: 1
# macOS tmpdir is on APFS which supports reflink
UV_INTERNAL__TEST_COW_FS: ${{ runner.temp }}
# HFS+ RAM disk does not support copy-on-write and is on a different device
UV_INTERNAL__TEST_NOCOW_FS: ${{ env.HFS_MOUNT }}
UV_INTERNAL__TEST_ALT_FS: ${{ env.HFS_MOUNT }}
run: |
cargo nextest run \
--cargo-profile fast-build \
Expand Down
Loading