test: run kind tests on GHA #31
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
test-docker-desktop: | |
name: test-docker-desktop | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Cache Docker Desktop packages | |
id: cache-docker-desktop | |
uses: actions/cache@v3 | |
with: | |
key: "docker-desktop-4.21.1-amd64" | |
path: | | |
~/downloads/ | |
- name: Download Docker Desktop | |
run: | | |
mkdir -p ~/.downloads | |
curl -sSL https://desktop.docker.com/linux/main/amd64/docker-desktop-4.21.1-amd64.deb > ~/.downloads/docker-desktop.deb | |
if: ${{ steps.cache-docker-desktop.outputs.cache-hit != 'true' }} | |
- name: Install and Run Docker Desktop | |
run: | | |
sudo add-apt-repository universe | |
sudo apt update | |
sudo apt-get install ca-certificates curl gnupg | |
sudo install -m 0755 -d /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
sudo chmod a+r /etc/apt/keyrings/docker.gpg | |
echo \ | |
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ | |
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ | |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
sudo apt install ~/.downloads/docker-desktop.deb | |
jq '.licenseTermsVersion = 2' ~/.docker/desktop/settings.json > temp.json | |
mv temp.json ~/.docker/desktop/settings.json | |
systemctl --user start docker-desktop | |
until docker ps; do echo "docker not ready, sleep 10 s and try again"; sleep 10; done | |
echo "Docker started and ready" | |
docker version | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Install Kind | |
uses: helm/kind-action@v1.5.0 | |
with: | |
version: "v0.20.0" | |
install_only: true | |
- name: Install ctlptl | |
run: make install | |
- name: Test on Kind | |
run: ./test/kind/e2e.sh |