Skip to content

CI Pipeline

CI Pipeline #148

Workflow file for this run

name: CI Pipeline
on:
workflow_dispatch:
schedule:
- cron: '0 4 * * *' # 12AM EST/9PM PST
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
jobs:
unit-tests:
name: Run Unit Tests
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
with:
egress-policy: audit
- name: Checkout code
uses: actions/checkout@v3
- name: Setup golang
uses: ./.github/actions/golang
- name: Run Unit Tests
run: make unit-test
e2e-tests:
name: Run E2E Tests
runs-on: ubuntu-latest
needs: unit-tests
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup golang
uses: ./.github/actions/golang
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Install Kind
run: |
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
- name: Install Kubectl
run: |
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
- name: Install Ginkgo
run: go install github.com/onsi/ginkgo/v2/ginkgo@latest
- name: Run E2E Tests
run: make e2e-test