populate vm.vzVm at creation time #69
This file contains hidden or 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: Build | |
on: | |
push: | |
branches: | |
- "main" | |
- "test-gha" | |
tags: | |
- "*" | |
pull_request: {} | |
jobs: | |
golangci: | |
name: lint | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v5 | |
- uses: actions/setup-go@v6 | |
with: | |
go-version-file: go.mod | |
- name: golangci-lint | |
run: make lint | |
build: | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Test matrix covers multiple macOS versions and architectures: | |
# - macos-13: x86_64 runner, supports virtualization for integration tests | |
# - macos-14: arm64 (Apple Silicon) runner, unit tests only | |
# - macos-15: arm64 (Apple Silicon) runner, unit tests + artifact upload | |
runner: | |
- macos-13 | |
- macos-14 | |
- macos-15-intel | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v5 | |
with: | |
fetch-depth: 0 | |
- name: >- | |
WORKAROUND: Fetch tags that points to the revisions | |
checked-out(actions/checkout#1467) | |
run: |- | |
git fetch --tags --force | |
- name: Set up Go | |
uses: actions/setup-go@v6 | |
with: | |
go-version-file: go.mod | |
- name: Build | |
run: make | |
- name: Install qemu-img | |
run: | | |
brew update | |
brew install qemu | |
- name: Verify qemu-img is installed | |
run: qemu-img --version | |
- name: Unit tests | |
run: make test-unit | |
# Integration tests run only on macos-13 due to virtualization requirements | |
# NOTE: macos-13 runners will be deprecated by the end of 2025 | |
# 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 | |
- name: Integration tests | |
if: matrix.runner == 'macos-15-intel' | |
run: make test-integration | |
- name: vet | |
run: go vet ./... | |
- name: Upload vfkit artifact | |
if: matrix.runner == 'macos-15' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Unsigned vfkit Universal Binary | |
path: "./out/vfkit" | |
if-no-files-found: error |