name: smoke-extra on: push: branches: - master pull_request: types: [opened, synchronize, labeled, reopened] paths: - '.github/workflows/smoke**' - '**Makefile' - '**.go' - '**.proto' - 'go.mod' - 'go.sum' jobs: smoke-extra-libvirt: if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'smoke-test-extra') name: ${{ matrix.target }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: target: - freebsd-amd64 - openbsd-amd64 - netbsd-amd64 - linux-amd64-ipv6disable env: VAGRANT_DEFAULT_PROVIDER: libvirt steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version: '1.25' check-latest: true - name: add hashicorp source run: wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list - name: install vagrant and libvirt run: | sudo apt-get update && sudo apt-get install -y vagrant libvirt-daemon-system libvirt-dev sudo chmod 666 /dev/kvm sudo usermod -aG libvirt $(whoami) sudo chmod 666 /var/run/libvirt/libvirt-sock vagrant plugin install vagrant-libvirt - name: ${{ matrix.target }} run: make smoke-vagrant/${{ matrix.target }} timeout-minutes: 30 # linux-386 needs VirtualBox, which conflicts with KVM/libvirt -- isolated job. smoke-extra-virtualbox: if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'smoke-test-extra') name: linux-386 runs-on: ubuntu-latest env: VAGRANT_DEFAULT_PROVIDER: virtualbox steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version: '1.25' check-latest: true - name: add hashicorp source run: wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list - name: install vagrant and virtualbox run: | sudo apt-get update && sudo apt-get install -y vagrant virtualbox sudo rmmod kvm_amd kvm_intel kvm 2>/dev/null || true - name: linux-386 run: make smoke-vagrant/linux-386 timeout-minutes: 30