tests: add Windows E2E testing #796
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: 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: | | |
Start-Process 'Docker.exe' -Wait install --no-windows-containers --backend=wsl-2 | |
# choco install -y docker-desktop | |
- name: Run docker linux | |
run: | | |
$PATH = [Environment]::GetEnvironmentVariable("PATH") | |
$docker_path = "C:\Program Files\Docker\Docker\resources\bin" | |
[Environment]::SetEnvironmentVariable("PATH", "$docker_path;$PATH") | |
[Environment]::SetEnvironmentVariable("PATH", "$docker_path;$PATH", "Machine") | |
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 }} |