Skip to content

[GEN-1910]: init workflow for UI E2E tests (using Cypress) #3298

[GEN-1910]: init workflow for UI E2E tests (using Cypress)

[GEN-1910]: init workflow for UI E2E tests (using Cypress) #3298

Workflow file for this run

name: E2E Tests
on:
merge_group:
pull_request:
branches:
- main
- stable
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-cli:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '~1.22'
check-latest: true
cache: true
cache-dependency-path: |
**/go.sum
- name: Build CLI
run: |
cd cli
go build -tags=embed_manifests -o odigos
- name: Upload CLI
uses: actions/upload-artifact@v4
with:
name: odigos-cli
path: cli/odigos
build-odigos-images:
runs-on: warp-ubuntu-latest-x64-8x-spot
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build Odigos Images
run: |
TAG=e2e-test make build-images
docker save -o odigos-images.tar $(docker images --format "{{.Repository}}:{{.Tag}}" | grep "odigos")
- name: Upload Odigos Images
uses: actions/upload-artifact@v4
with:
name: odigos-images
path: odigos-images.tar
kubernetes-test:
needs:
- build-odigos-images
- build-cli
runs-on: warp-ubuntu-latest-x64-8x-spot
strategy:
fail-fast: false
matrix:
kube-version:
- '1.20.15'
- '1.23'
- '1.30'
test-scenario:
- 'ui'
- 'multi-apps'
- 'helm-chart'
- 'cli-upgrade'
- 'workload-lifecycle'
include:
- kube-version: '1.20.15'
kind-image: 'kindest/node:v1.20.15@sha256:a32bf55309294120616886b5338f95dd98a2f7231519c7dedcec32ba29699394'
- kube-version: '1.23'
kind-image: 'kindest/node:v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3'
- kube-version: '1.30'
kind-image: 'kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '~1.22'
check-latest: true
cache: true
cache-dependency-path: |
**/go.sum
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.9.0
- name: Install chainsaw
uses: kyverno/action-install-chainsaw@v0.2.8
- name: Create Kind Cluster
uses: helm/kind-action@v1.10.0
with:
node_image: ${{ matrix.kind-image }}
version: 'v0.23.0'
cluster_name: kind
- name: Download and Load Docker Images to Kind
uses: actions/download-artifact@v4
with:
name: odigos-images
- run: |
docker load -i odigos-images.tar
TAG=e2e-test make load-to-kind
- name: Download CLI binary
uses: actions/download-artifact@v4
with:
name: odigos-cli
- run: |
mv odigos cli/odigos
chmod +x cli/odigos
- name: Run E2E Tests
run: |
chainsaw test tests/e2e/${{ matrix.test-scenario }}