Tests: basic implementation for testing against vfkit #968
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: Go | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 # explicitly use 20.04, see commit 428c40018a | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: ["1.22.x", "1.23.x"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # history/tags are needed for automatic version generation | |
fetch-tags: true | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Build | |
run: | | |
make cross qemu-wrapper vm win-gvproxy win-sshproxy | |
mv bin/gvproxy.exe bin/gvproxy-windowsgui.exe | |
- uses: actions/upload-artifact@v4 | |
if: matrix.go-version == '1.22.x' | |
with: | |
name: gvisor-tap-vsock-binaries | |
path: bin/* | |
tests: | |
runs-on: ubuntu-latest # The runner must support nested virt | |
needs: build # Don't bother testing if cross arch build fails | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install qemu | |
run: | | |
sudo apt install qemu-kvm | |
sudo usermod -a -G kvm $USER | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Test | |
run: | | |
sudo -s -u ${USER} bash -c 'make test-linux' | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: qcon | |
path: test/qcon.log | |
win-sshproxy-tests: | |
runs-on: windows-latest # Only builds/runs on windows | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: 'go.mod' | |
- name: Build | |
run: make win-sshproxy | |
- name: Test | |
run: go test -v .\test-win-sshproxy | |