The following tools are required:
- Xcode Command Line Tools - provides
clang,codesign,swift,git, andmake(xcode-select --install) - Go 1.24.0+ - for building the Go client and test runner
- bats 1.5.0+ - Bash testing framework
- clang-format - for code formatting
- shellcheck - for shell script linting
If you use Homebrew, you can install all the tools with:
xcode-select --install
brew install go bats-core clang-format shellcheckThe Go test runner depends on this upstream PR: Code-Hex/vz#205
To build the Go test runner clone this repo:
git clone https://github.com/norio-nomura/vz norio-nomura/vz
cd norio-nomura/vz
git checkout feat-add-vmnet-network-device-attachment
makemake
make installmake uninstallTo run Go and Swift tests run:
make testFor more control run go test from the go/ directory and swift test
from the swift/ directory.
To create test VMs run:
./create-vm vm1
./create-vm vm2To run the VMs use the Go or Swift test runners:
./test-go vm1
./test-swift vm2Note
Login with user: ubuntu password: pass
To create a release, create a tag from the branch to be released and push the tag to github:
git checkout release-branch
git tag v1.2.3
git push origin v1.2.3Pushing the tag triggers the release workflow, building the assets and creating the release draft.
The draft can be inspected and edited as needed before publishing the release.
After the release is published it cannot be modified, since we use immutable releases.