Skip to content

Commit 0b6aed9

Browse files
authored
Merge pull request #52 from lima-vm/qemu-8.2.1
Downgrade to qemu-8.2.1
2 parents d69e1e9 + 82c7ea1 commit 0b6aed9

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

.github/workflows/test.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,20 @@ jobs:
4343
if file /opt/socket_vmnet.arm64/bin/* | grep -q x86_64 ; then false ; fi
4444
- name: Print launchd status (shared mode)
4545
run: launchctl print system/io.github.lima-vm.socket_vmnet
46+
- name: Fetch homebrew-core commit messages
47+
uses: actions/checkout@v4
48+
with:
49+
# needed by ./hack/brew-install-version.sh
50+
repository: homebrew/homebrew-core
51+
path: homebrew-core
52+
fetch-depth: 0
53+
filter: tree:0
4654
- name: Install test dependencies
47-
run: brew install qemu bash coreutils
55+
run: |
56+
brew install bash coreutils
57+
# QEMU 9.1.0 seems to break on GitHub runners, both on Monterey and Ventura
58+
# We revert back to 8.2.1, which seems to work fine
59+
./hack/brew-install-version.sh qemu 8.2.1
4860
- name: Test (shared mode)
4961
run: ./test/test.sh /var/run/socket_vmnet
5062
# Bridged mode cannot be tested on GHA

hack/brew-install-version.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
# This script only works for formulas in the homebrew-core.
3+
# It assumes the homebrew-core has been checked out into ./homebrew-core.
4+
# It only needs commit messages, so the checkout can be filtered with tree:0.
5+
6+
set -eu -o pipefail
7+
8+
FORMULA=$1
9+
VERSION=$2
10+
11+
export HOMEBREW_NO_AUTO_UPDATE=1
12+
export HOMEBREW_NO_INSTALL_UPGRADE=1
13+
export HOMEBREW_NO_INSTALL_CLEANUP=1
14+
15+
TAP=lima/tap
16+
if ! brew tap | grep -q "^${TAP}\$"; then
17+
brew tap-new "$TAP"
18+
fi
19+
20+
# Get the latest commit id for the commit that updated this bottle
21+
SHA=$(git -C homebrew-core log --max-count 1 --grep "^${FORMULA}: update ${VERSION} bottle" --format="%H")
22+
if [[ -z $SHA ]]; then
23+
echo "${FORMULA} ${VERSION} not found"
24+
exit 1
25+
fi
26+
27+
OUTPUT="$(brew --repo "$TAP")/Formula/${FORMULA}.rb"
28+
RAW="https://raw.githubusercontent.com/Homebrew/homebrew-core"
29+
curl -s "${RAW}/${SHA}/Formula/${FORMULA::1}/${FORMULA}.rb" -o "$OUTPUT"
30+
31+
if brew ls -1 | grep -q "^${FORMULA}\$"; then
32+
brew uninstall "$FORMULA" --ignore-dependencies
33+
fi
34+
brew install "${TAP}/${FORMULA}"

0 commit comments

Comments
 (0)