mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
3cfa76fcbf
Add `.github/workflows/cgroup2.yaml` for running Fedora on Vagrant on GitHub Actions to test cgroup2 environment. Only very basic smoke tests are executed, as Vagrant is too slow to run the entire sonobuoy. Relevant: - kubernetes-sigs/kind PR 2017 - https://github.com/rootless-containers/usernetes/blob/v20210201.0/.github/workflows/main.yaml Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
name: cgroup2
|
|
on: [push, pull_request]
|
|
jobs:
|
|
build:
|
|
name: "Build"
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 40
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
- name: "Make"
|
|
run: DOCKER_BUILDKIT=1 SKIP_VALIDATE=1 make
|
|
- name: "Upload k3s binary"
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: k3s
|
|
path: dist/artifacts/k3s
|
|
test:
|
|
name: "Test"
|
|
needs: build
|
|
# nested virtualization is only available on macOS hosts
|
|
runs-on: macos-10.15
|
|
timeout-minutes: 40
|
|
steps:
|
|
- name: "Checkout"
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
- name: "Download k3s binary"
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: k3s
|
|
path: ./tests/cgroup2
|
|
- name: "Boot Fedora VM"
|
|
run: |
|
|
cp k3s.service ./tests/cgroup2
|
|
cd ./tests/cgroup2
|
|
vagrant up
|
|
vagrant ssh-config >> ~/.ssh/config
|
|
# Sonobuoy requires CoreDNS to be ready
|
|
- name: "Waiting fore CoreDNS to be ready"
|
|
run: |
|
|
counter=0
|
|
# `kubectl wait` fails when the pods with the specified label are not created yet
|
|
until ssh default -- sudo k3s kubectl wait --for=condition=ready pods --namespace=kube-system -l k8s-app=kube-dns; do
|
|
sleep 10
|
|
((counter++))
|
|
if [[ $counter -eq 10 ]]; then
|
|
echo "CoreDNS not running?"
|
|
ssh default -- sudo k3s kubectl get pods -A
|
|
ssh default -- sudo k3s kubectl get nodes -o wide
|
|
exit 1
|
|
fi
|
|
done
|
|
# Vagrant is slow, so we set --mode=quick here
|
|
- name: "Run Sonobuoy (--mode=quick)"
|
|
run: |
|
|
ssh default -- sudo KUBECONFIG=/etc/rancher/k3s/k3s.yaml /usr/local/bin/sonobuoy run --mode=quick --wait
|