Skip to content

Commit 8472867

Browse files
committed
ci: Fix macOS contracts integration test workflows
1 parent 23daed5 commit 8472867

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

.github/workflows/integration-tests.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,15 @@ jobs:
7474
- name: Install packages (macOS)
7575
if: matrix.os == 'macos-13'
7676
run: |
77-
brew install protobuf
77+
brew install protobuf qemu
7878
protoc --version
7979
8080
- name: Setup Docker (macOS)
8181
if: matrix.os == 'macos-13'
82-
uses: docker/setup-docker-action@v4
83-
84-
- name: Ensure Docker is running
85-
run: |
86-
docker info || (sudo systemctl start docker && docker info)
82+
uses: douglascamata/setup-docker-macos-action@v1
83+
with:
84+
# Use qemu with 9p mount type (more reliable for writes than vz/virtiofs) with writable home directory
85+
colima-additional-options: --vm-type qemu --mount-type 9p --mount ~:w
8786

8887
- name: Install cargo-nextest
8988
uses: taiki-e/install-action@v2
@@ -93,7 +92,10 @@ jobs:
9392
- name: Run integration tests
9493
env:
9594
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
96-
run: cargo nextest run --locked --no-default-features --features "contract,integration-tests" --test contract --no-fail-fast --nocapture --status-level all
95+
run: |
96+
# On macOS, Docker can only access certain paths. We use $HOME which is shared with Docker.
97+
[[ "${{ matrix.os }}" == "macos-13" ]] && export TMPDIR=$HOME/tmp && mkdir -p $TMPDIR
98+
cargo nextest run --locked --no-default-features --features "contract,integration-tests" --test contract --no-fail-fast --nocapture --status-level all
9799
98100
chain-integration-tests:
99101
strategy:

0 commit comments

Comments
 (0)