Skip to content

tests: add Windows E2E testing #793

tests: add Windows E2E testing

tests: add Windows E2E testing #793

Workflow file for this run

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 }}