Improve formatting #33
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lima | |
on: | |
push: | |
branches: | |
- master | |
- 'release/**' | |
pull_request: | |
permissions: | |
contents: read | |
jobs: | |
integration: | |
name: Integration tests | |
strategy: | |
fail-fast: false | |
matrix: | |
# macos-13-large is used as macos-13 seems too flaky. | |
# macos-14 (ARM) and later cannot be used for the most part of the job | |
# due to the lack of the support for nested virt. | |
platform: | |
- macos-13-large | |
- macos-14-large | |
- macos-15-large | |
runs-on: ${{ matrix.platform }} | |
# Typically takes 8 minutes. If a step get stuck for many mintues it is | |
# unlikely to succeed. | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
with: | |
fetch-depth: 1 | |
- name: Show host info | |
run: | | |
uname -a | |
sw_vers | |
ifconfig | |
- name: Make Install (x86_64) | |
run: | | |
# compile for x86_64 | |
make | |
# Skip installing launchd services | |
sudo make install.bin install.doc | |
if file /opt/socket_vmnet/bin/* | grep -q arm64 ; then false ; fi | |
- name: Cleanup | |
run: | | |
make clean | |
- name: Make Install (arm64) | |
run: | | |
# cross-compile for arm64 | |
# Skip installing launchd services | |
make ARCH=arm64 | |
sudo make PREFIX=/opt/socket_vmnet.arm64 install.bin install.doc | |
if file /opt/socket_vmnet.arm64/bin/* | grep -q x86_64 ; then false ; fi | |
- name: Update brew (macos-15-large) | |
if: matrix.platform == 'macos-15-large' | |
# Without this we get lima 0.23.2 instead of latest release. | |
run: brew update | |
- name: Install Lima | |
run: | | |
brew install lima | |
limactl sudoers >etc_sudoers.d_lima | |
sudo install -o root etc_sudoers.d_lima "/private/etc/sudoers.d/lima" | |
- name: "Lima: vm1: prepare" | |
run: | | |
limactl start --name=vm1 --tty=false ./test/vmnet.yaml | |
limactl shell vm1 ip a | |
- name: "Lima: vm1: set up iperf3" | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
limactl shell vm1 sudo apt-get update | |
limactl shell vm1 sudo apt-get install -y iperf3 | |
limactl shell vm1 sudo systemctl start iperf3.service | |
- name: "Lima: vm1: get the IP" | |
run: | | |
limactl shell vm1 ip -4 -json addr show dev lima0 | jq -r .[0].addr_info[0].local | tee /tmp/vm1_iP | |
- name: "Lima: vm1: iperf3 (host -> vm1)" | |
run: | | |
iperf3-darwin -c "$(cat /tmp/vm1_ip)" | |
- name: "Lima: vm1: debug" | |
if: failure() | |
run: tail -n500 ~/.lima/vm1/*.log | |
- name: "Lima: vm2: prepare" | |
run: | | |
limactl start --name=vm2 --tty=false ./test/vmnet.yaml | |
limactl shell vm2 ip a | |
- name: "Lima: vm2: set up iperf3" | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
limactl shell vm2 sudo apt-get update | |
limactl shell vm2 sudo apt-get install -y iperf3 | |
- name: "Lima: vm2: iperf3 (vm2 -> vm1)" | |
run: | | |
limactl shell vm2 iperf3 -c "$(cat /tmp/vm1_ip)" | |
- name: "Lima: vm2: debug" | |
if: failure() | |
run: tail -n500 ~/.lima/vm2/*.log |