tests: add Windows E2E testing #793
Workflow file for this run
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: E2E tests | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- "**.go" | |
- "pkg/**.sh" | |
- "providers/**" | |
- "!**_test.go" # exclude test files to ignore unit test changes | |
- "e2e/**_test.go" # include test files in e2e again | |
- ".github/workflows/e2e-tests.yaml" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
GO111MODULE: on | |
GOFLAGS: -mod=vendor | |
jobs: | |
#test-e2e: | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: true | |
# max-parallel: 16 | |
# matrix: | |
# label: ["build", "ide", "integration", "machine", "machineprovider", "provider", "proxyprovider", "ssh", "up", "up-docker", "up-podman", "up-docker-compose"] | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v2 | |
# - name: Set up Go | |
# uses: actions/setup-go@v2 | |
# with: | |
# go-version: 1.20.5 | |
# - name: Set up kind k8s cluster | |
# uses: engineerd/[email protected] | |
# with: | |
# version: "v0.20.0" | |
# image: kindest/node:v1.27.3 | |
# - name: Testing kind cluster set-up | |
# run: | | |
# set -x | |
# kubectl cluster-info | |
# kubectl get pods -n kube-system -v 10 | |
# echo "kubectl config current-context:" $(kubectl config current-context) | |
# echo "KUBECONFIG env var:" ${KUBECONFIG} | |
# - name: Build binary and copy to the E2E directory | |
# working-directory: ./e2e | |
# run: | | |
# chmod +x ../hack/build-e2e.sh | |
# BUILDDIR=bin SRCDIR=".." ../hack/build-e2e.sh | |
# - name: E2E test | |
# working-directory: ./e2e | |
# run: | | |
# sudo KUBECONFIG=/home/runner/.kube/config go test -v -ginkgo.v -timeout 3600s --ginkgo.label-filter=${{ matrix.label }} | |
test-e2e-windows: | |
runs-on: windows-latest | |
# strategy: | |
# fail-fast: true | |
# max-parallel: 16 | |
# matrix: | |
# # "up-podman", "integration", "machineprovider", "up" | |
# label: ["build", "ide", "machine", "machineprovider", "provider", "proxyprovider", "ssh", "up-docker", "up-docker-compose"] | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.20.5 | |
#- name: Set up WSL | |
# uses: Vampire/setup-wsl@v2 | |
# - name: Download Docker | |
# run: | | |
# Invoke-WebRequest -URI 'https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe' -OutFile Docker.exe | |
- name: Set up Docker | |
run: | | |
choco install -y docker-desktop | |
#Start-Process 'Docker.exe' -Wait install --accept-license --no-windows-containers --backend=wsl-2 | |
- name: Run docker linux | |
run: | | |
set PATH="C:\Program Files\Docker\Docker\resources\bin";%PATH% | |
which docker | |
docker run --rm docker.io/library/alpine:latest sh -c "cat /etc/os-release" | |
# - name: Build binary and copy to the E2E directory | |
# run: | | |
# go build -ldflags "-s -w" -o devpod-windows-amd64.exe | |
# mkdir e2e\bin | |
# cp devpod-windows-amd64.exe e2e\bin\ | |
# | |
# - name: E2E test | |
# working-directory: .\e2e | |
# run: | | |
# go run github.com/onsi/ginkgo/v2/ginkgo -r --timeout=3600s --label-filter=${{ matrix.label }} |