mirror of
https://git.vectorsigma.ru/public/k3s.git
synced 2026-08-07 05:39:55 +00:00
Reenable Install and Snapshotter Testing (#9601)
* Use regular ubuntu runners for install and snapshotter tests * Workaround for vagrant box caching * Update testing readme Signed-off-by: Derek Nola <derek.nola@suse.com>
This commit is contained in:
64
.github/workflows/install.yaml
vendored
64
.github/workflows/install.yaml
vendored
@@ -25,13 +25,13 @@ jobs:
|
||||
test:
|
||||
name: "Smoke Test"
|
||||
needs: build
|
||||
runs-on: macos-12
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vm: [centos-7, rocky-8, fedora, opensuse-leap, ubuntu-2204]
|
||||
max-parallel: 2
|
||||
max-parallel: 3
|
||||
defaults:
|
||||
run:
|
||||
working-directory: tests/install/${{ matrix.vm }}
|
||||
@@ -41,52 +41,70 @@ jobs:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v3
|
||||
with: {fetch-depth: 1}
|
||||
- name: Set up vagrant and libvirt
|
||||
uses: ./.github/actions/vagrant-setup
|
||||
|
||||
- name: "Vagrant Cache"
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.vagrant.d/boxes
|
||||
~/.vagrant.d/gems
|
||||
/tmp/boxes
|
||||
key: vagrant-box-${{ matrix.vm }}
|
||||
id: vagrant-cache
|
||||
continue-on-error: true
|
||||
# Workaround for https://github.com/actions/cache/issues/1319
|
||||
- name: Move vagrant cache to /root
|
||||
run: |
|
||||
mkdir -p /tmp/boxes
|
||||
sudo rm -rf /root/.vagrant.d/boxes
|
||||
sudo mv -f /tmp/boxes /root/.vagrant.d
|
||||
- name: "Vagrant Plugin(s)"
|
||||
run: vagrant plugin install vagrant-k3s vagrant-reload vagrant-scp
|
||||
run: sudo vagrant plugin install vagrant-k3s vagrant-reload vagrant-scp
|
||||
- name: "Download k3s binary"
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: k3s
|
||||
path: tests/install/${{ matrix.vm }}
|
||||
- name: "Vagrant Up"
|
||||
run: vagrant up --no-provision
|
||||
- name: "Upload k3s binary"
|
||||
run: sudo vagrant up --no-provision
|
||||
- name: "Upload k3s binary to VM"
|
||||
run: |
|
||||
chmod +x k3s
|
||||
vagrant scp k3s /tmp/k3s
|
||||
vagrant ssh -c "sudo mv /tmp/k3s /usr/local/bin/k3s"
|
||||
vagrant provision --provision-with=k3s-upload
|
||||
sudo vagrant scp k3s /tmp/k3s
|
||||
sudo vagrant ssh -c "sudo mv /tmp/k3s /usr/local/bin/k3s"
|
||||
sudo vagrant provision --provision-with=k3s-upload
|
||||
- name: Add binary to PATH
|
||||
if: matrix.vm == 'centos-7' || matrix.vm == 'rocky-8' || matrix.vm == 'opensuse-leap'
|
||||
run: vagrant provision --provision-with=add-bin-path
|
||||
run: sudo vagrant provision --provision-with=add-bin-path
|
||||
- name: "⏩ Install K3s"
|
||||
run: |
|
||||
vagrant provision --provision-with=k3s-prepare
|
||||
vagrant provision --provision-with=k3s-install
|
||||
sudo vagrant provision --provision-with=k3s-prepare
|
||||
sudo vagrant provision --provision-with=k3s-install
|
||||
if [ ${{ matrix.vm }} = 'opensuse-microos' ]; then vagrant reload --no-provision; fi
|
||||
- name: "⏳ Node"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-node
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-node
|
||||
- name: "⏳ CoreDNS"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-coredns
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-coredns
|
||||
- name: "⏳ Local Storage"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-local-storage
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-local-storage
|
||||
continue-on-error: true
|
||||
- name: "⏳ Metrics Server"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-metrics-server
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-metrics-server
|
||||
continue-on-error: true
|
||||
- name: "⏳ Traefik"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-traefik
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-traefik
|
||||
continue-on-error: true
|
||||
- name: "k3s-status"
|
||||
run: vagrant provision --provision-with=k3s-status
|
||||
run: sudo vagrant provision --provision-with=k3s-status
|
||||
- name: "k3s-procps"
|
||||
run: vagrant provision --provision-with=k3s-procps
|
||||
run: sudo vagrant provision --provision-with=k3s-procps
|
||||
- name: Cleanup VM
|
||||
run: sudo vagrant destroy -f
|
||||
- name: On Failure, launch debug session
|
||||
uses: lhotari/action-upterm@v1
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
## If no one connects after 5 minutes, shut down server.
|
||||
wait-timeout-minutes: 5
|
||||
- name: Copy out vagrant boxes for cache
|
||||
run: |
|
||||
sudo mv -f /root/.vagrant.d/boxes /tmp/boxes
|
||||
sudo chmod -R 777 /tmp/boxes
|
||||
15
.github/workflows/integration.yaml
vendored
15
.github/workflows/integration.yaml
vendored
@@ -54,6 +54,17 @@ jobs:
|
||||
chmod +x ./dist/artifacts/k3s
|
||||
sudo -E env "PATH=$PATH" go test -v -timeout=45m ./tests/integration/${{ matrix.itest }}/... -run Integration
|
||||
- name: On Failure, Launch Debug Session
|
||||
uses: lhotari/action-upterm@v1
|
||||
if: ${{ failure() }}
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
timeout-minutes: 5
|
||||
with:
|
||||
## If no one connects after 5 minutes, shut down server.
|
||||
wait-timeout-minutes: 5
|
||||
- name: Generate coverage report
|
||||
run: go tool covdata textfmt -i $GOCOVERDIR -o ${{ matrix.itest }}.out
|
||||
- name: Upload Results To Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./${{ matrix.itest }}.out
|
||||
flags: inttests # optional
|
||||
verbose: true # optional (default = false)
|
||||
|
||||
20
.github/workflows/nightly-install.yaml
vendored
20
.github/workflows/nightly-install.yaml
vendored
@@ -10,7 +10,7 @@ permissions:
|
||||
jobs:
|
||||
test:
|
||||
name: "Smoke Test"
|
||||
runs-on: macos-12
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -27,15 +27,21 @@ jobs:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v3
|
||||
with: {fetch-depth: 1}
|
||||
- name: Set up vagrant and libvirt
|
||||
uses: ./.github/actions/vagrant-setup
|
||||
# Workaround for https://github.com/actions/cache/issues/1319
|
||||
- name: Move vagrant cache to /root
|
||||
run: |
|
||||
mkdir -p /tmp/boxes
|
||||
sudo rm -rf /root/.vagrant.d/boxes
|
||||
sudo mv -f /tmp/boxes /root/.vagrant.d
|
||||
- name: "Vagrant Cache"
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.vagrant.d/boxes
|
||||
~/.vagrant.d/gems
|
||||
/tmp/boxes
|
||||
key: vagrant-box-${{ matrix.vm }}
|
||||
id: vagrant-cache
|
||||
continue-on-error: true
|
||||
- name: "Vagrant Plugin(s)"
|
||||
run: vagrant plugin install vagrant-k3s vagrant-reload
|
||||
- name: "Vagrant Up ⏩ Install K3s"
|
||||
@@ -57,3 +63,7 @@ jobs:
|
||||
run: vagrant provision --provision-with=k3s-status
|
||||
- name: "k3s-procps"
|
||||
run: vagrant provision --provision-with=k3s-procps
|
||||
- name: Copy out vagrant boxes for cache
|
||||
run: |
|
||||
sudo mv -f /root/.vagrant.d/boxes /tmp/boxes
|
||||
sudo chmod -R 777 /tmp/boxes
|
||||
35
.github/workflows/snapshotter.yaml
vendored
35
.github/workflows/snapshotter.yaml
vendored
@@ -29,8 +29,7 @@ jobs:
|
||||
test:
|
||||
name: "Smoke Test"
|
||||
needs: build
|
||||
# nested virtualization is only available on macOS hosts
|
||||
runs-on: macos-12
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 40
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -50,24 +49,34 @@ jobs:
|
||||
- name: "Download Binary"
|
||||
uses: actions/download-artifact@v3
|
||||
with: { name: k3s, path: dist/artifacts/ }
|
||||
- name: Set up vagrant and libvirt
|
||||
uses: ./.github/actions/vagrant-setup
|
||||
# Workaround for https://github.com/actions/cache/issues/1319
|
||||
- name: Move vagrant cache to /root
|
||||
run: |
|
||||
mkdir -p /tmp/boxes
|
||||
sudo rm -rf /root/.vagrant.d/boxes
|
||||
sudo mv -f /tmp/boxes /root/.vagrant.d
|
||||
- name: "Vagrant Cache"
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.vagrant.d/boxes
|
||||
~/.vagrant.d/gems
|
||||
/tmp/boxes
|
||||
/tmp/gems
|
||||
key: vagrant-box-${{ matrix.vm }}
|
||||
id: vagrant-cache
|
||||
continue-on-error: true
|
||||
- name: "Vagrant Plugin(s)"
|
||||
run: vagrant plugin install vagrant-k3s
|
||||
run: sudo vagrant plugin install vagrant-k3s
|
||||
- name: "Vagrant Up ⏩ Install K3s"
|
||||
run: vagrant up
|
||||
run: sudo vagrant up
|
||||
- name: "⏳ Node"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-node
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-node
|
||||
- name: "⏳ CoreDNS"
|
||||
run: vagrant provision --provision-with=k3s-wait-for-coredns
|
||||
run: sudo vagrant provision --provision-with=k3s-wait-for-coredns
|
||||
- name: "k3s-status" # kubectl get node,all -A -o wide
|
||||
run: vagrant provision --provision-with=k3s-status
|
||||
run: sudo vagrant provision --provision-with=k3s-status
|
||||
- name: "k3s-snapshots" # if no snapshots then we fail
|
||||
run: vagrant provision --provision-with=k3s-snapshots
|
||||
run: sudo vagrant provision --provision-with=k3s-snapshots
|
||||
- name: Copy out vagrant boxes for cache
|
||||
run: |
|
||||
sudo mv -f /root/.vagrant.d/boxes /tmp/boxes
|
||||
sudo chmod -R 777 /tmp/boxes
|
||||
Reference in New Issue
Block a user