Skip to content

ci: build the cli in concurrent to the docker images #2332

ci: build the cli in concurrent to the docker images

ci: build the cli in concurrent to the docker images #2332

Workflow file for this run

name: E2E Tests
on:
pull_request:
branches:
- main
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@v3
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@v3
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.23"
- "1.30"
test-scenario:
- "multi-apps"
- "helm-chart"
- "fe-synthetic"
- "cli-upgrade"
- "workload-lifecycle"
include:
- 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: Install FE
run: |
cd frontend/webapp
yarn install
- name: Download and Load Docker Images to Kind
uses: actions/download-artifact@v3
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@v3
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 }}