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: if: github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'smoke-test-extra') name: Run extra smoke tests runs-on: ubuntu-latest env: VAGRANT_DEFAULT_PROVIDER: libvirt steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version: '1.26' 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: freebsd-amd64 run: make smoke-vagrant/freebsd-amd64 - name: openbsd-amd64 run: make smoke-vagrant/openbsd-amd64 - name: netbsd-amd64 run: make smoke-vagrant/netbsd-amd64 - name: linux-amd64-ipv6disable run: make smoke-vagrant/linux-amd64-ipv6disable # linux-386 runs last because it requires disabling KVM to use VirtualBox, # which prevents libvirt (used by the other tests) from working after this point. - name: install virtualbox for i386 test run: | sudo apt-get install -y virtualbox sudo rmmod kvm_amd kvm_intel kvm 2>/dev/null || true - name: linux-386 env: VAGRANT_DEFAULT_PROVIDER: virtualbox run: make smoke-vagrant/linux-386 timeout-minutes: 30