updated to 1.11 knative modules for the release and added instruction… #1669
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: KinD e2e tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
concurrency: | |
group: kind-e2e-tests-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
e2e: | |
name: e2e tests | |
runs-on: ubuntu-latest | |
env: | |
GOPATH: ${{ github.workspace }} | |
GO111MODULE: off | |
KO_DOCKER_REPO: kind.local | |
timeout-minutes: 30 | |
steps: | |
- name: Set up Go 1.19.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19.x | |
- name: Setup ko | |
uses: imjasonh/[email protected] | |
- name: Check out code onto GOPATH | |
uses: actions/checkout@v3 | |
with: | |
path: ./src/github.com/${{ github.repository }} | |
- name: Setup KinD Cluster with VMware sources. | |
working-directory: ./src/github.com/${{ github.repository }} | |
env: | |
KIND_VERSION: v0.16.0 | |
run: | | |
set -x | |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 | |
chmod +x ./kind | |
sudo mv kind /usr/local/bin | |
# KinD configuration. | |
cat > kind.yaml <<EOF | |
apiVersion: kind.x-k8s.io/v1alpha4 | |
kind: Cluster | |
nodes: | |
- role: control-plane | |
- role: worker | |
EOF | |
# Create a cluster! | |
kind create cluster --config kind.yaml | |
# Build and Publish our test images to the docker daemon. | |
./test/upload-test-images.sh | |
# Build and Publish our containers to the docker daemon (including test assets) | |
export GO111MODULE=on | |
export GOFLAGS=-mod=vendor | |
ko apply -PRf config/ | |
# webhook readiness probe can take some time to enter ready state | |
kubectl -n vmware-sources wait --timeout=3m --for=condition=Available deploy/vsphere-source-webhook | |
- name: Build vcsim image | |
working-directory: ./src/github.com/${{ github.repository }} | |
run: | | |
export GO111MODULE=on | |
echo "VCSIM_IMAGE=$(ko publish -B github.com/vmware/govmomi/vcsim)" >> $GITHUB_ENV | |
- name: Run E2E tests | |
working-directory: ./src/github.com/${{ github.repository }} | |
run: | | |
set -x | |
# For logstream to work. | |
export SYSTEM_NAMESPACE=vmware-sources | |
# Run the tests tagged as e2e on the KinD cluster. | |
go test -v -race -timeout=10m -tags=e2e github.com/${{ github.repository }}/test/e2e/... | |
- name: Debug | |
if: ${{ always() }} | |
run: | | |
kubectl get pods --all-namespaces | |
kubectl -n vmware-sources describe pods | |
kubectl -n vmware-sources get events | |
- name: Collect diagnostics | |
uses: chainguard-dev/actions/kind-diag@main | |
# Only upload logs on failure. | |
if: ${{ failure() }} | |
with: | |
cluster-resources: nodes | |
namespace-resources: pods,svc | |
artifact-name: logs | |
plugins: | |
name: kn plugins | |
runs-on: ubuntu-latest | |
env: | |
KO_DOCKER_REPO: kind.local | |
KIND_CLUSTER_NAME: plugins | |
timeout-minutes: 10 | |
steps: | |
- name: Set up Go 1.19.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19.x | |
- name: Setup ko | |
uses: imjasonh/[email protected] | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Setup KinD Cluster | |
env: | |
KIND_VERSION: v0.16.0 | |
run: | | |
set -x | |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 | |
chmod +x ./kind | |
sudo mv kind /usr/local/bin | |
# Create cluster with defaults | |
kind create cluster | |
- name: Deploy vcsim | |
run: | | |
ko apply -PRf test/config | |
kubectl wait --timeout=1m --for=condition=Available deploy/vcsim | |
kubectl port-forward deploy/vcsim 8989:8989 & | |
- name: Build plugins | |
run: | | |
go build -o kn-vsphere ./plugins/vsphere/cmd/vsphere | |
- name: Test plugin | |
run: | | |
./kn-vsphere auth create --name vsphere-credentials --username user --password pass --verify-url 127.0.0.1:8989 --verify-insecure=true | |
kubectl get secret vsphere-credentials # assert exists | |