@@ -23,13 +23,15 @@ jobs:
2323 fail-fast : false
2424 matrix :
2525 # Test matrix covers multiple macOS versions and architectures:
26- # - macos-13 : x86_64 runner, supports virtualization for integration tests
26+ # - macos-15-intel : x86_64 runner, supports virtualization for integration tests
2727 # - macos-14: arm64 (Apple Silicon) runner, unit tests only
28- # - macos-15: arm64 (Apple Silicon) runner, unit tests + artifact upload
28+ # - macos-15: arm64 (Apple Silicon) runner, unit tests
29+ # - macos-26: arm64 (Apple Silicon) runner, unit tests + artifact upload
2930 runner :
30- - macos-13
31+ - macos-15-intel
3132 - macos-14
3233 - macos-15
34+ - macos-26
3335 steps :
3436 - name : Check out repository code
3537 uses : actions/checkout@v5
@@ -58,16 +60,26 @@ jobs:
5860 - name : Unit tests
5961 run : make test-unit
6062
61- # Integration tests run only on macos-13 due to virtualization requirements
62- # NOTE: macos-13 runners will be deprecated by the end of 2025
63- # See: https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down
64- - name : Integration tests
65- if : matrix.runner == 'macos-13'
63+ # Workaround: TestSSHAccess/tcp fails on the first attempt on macos-15-intel with:
64+ # "timeout waiting for SSH: dial tcp 192.168.65.2:22: connect: no route to host"
65+ # but succeeds on subsequent runs. Run it once with continue-on-error to prepare
66+ # the environment before integration tests.
67+ - name : Workaround for network issue
68+ if : matrix.runner == 'macos-15-intel'
69+ run : |-
70+ go test -run TestSSHAccess/tcp ./test
71+ continue-on-error : true
72+
73+ # Integration tests run only on macos-15-intel due to virtualization requirements
74+ # macos-15-intel runners will be deprecated by August 2027
75+ # See:https://github.com/actions/runner-images/issues/13045
76+ - name : Integration tests (macos-15-intel)
77+ if : matrix.runner == 'macos-15-intel'
6678 run : make test-integration
6779 - name : vet
6880 run : go vet ./...
69- - name : Upload vfkit artifact
70- if : matrix.runner == 'macos-15 '
81+ - name : Upload vfkit artifact (macos-26)
82+ if : matrix.runner == 'macos-26 '
7183 uses : actions/upload-artifact@v4
7284 with :
7385 name : Unsigned vfkit Universal Binary
0 commit comments