1
0
Fork 0
mirror of https://github.com/prometheus-operator/prometheus-operator.git synced 2025-04-16 01:06:27 +00:00
prometheus-operator/.github/workflows/e2e-prometheus3.yaml
Dhruv 26e72997e8
Feat: Implemented Github Action linter (#7123)
* ci: add actionlint workflow for GitHub Actions

This workflow integrates actionlint into the CI pipeline to lint and
validate GitHub Actions workflows.

Fixes #7094 

Signed-off-by: slashexx dhruvpuri.35@gmail.com
Co-authored-by: Simon Pasquier <spasquie@redhat.com>
2024-11-22 10:35:54 +05:30

86 lines
2.8 KiB
YAML

name: e2e-prometheus3
on:
workflow_dispatch:
schedule:
- cron: '30 14 * * *' # Every day 14:30
jobs:
e2e-tests:
name: E2E experimental version tests
runs-on: ubuntu-latest
if: github.repository == 'prometheus-operator/prometheus-operator'
strategy:
# since upgrade test was failing other tests were cancelled, setting this so that other test run
fail-fast: false
matrix:
suite: [alertmanager, prometheus, prometheusAllNS, thanosruler, operatorUpgrade]
include:
- suite: alertmanager
target: test-e2e-alertmanager
- suite: prometheus
target: test-e2e-prometheus
- suite: prometheusAllNS
target: test-e2e-prometheus-all-namespaces
- suite: thanosruler
target: test-e2e-thanos-ruler
- suite: operatorUpgrade
target: test-e2e-operator-upgrade
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: |
cat ".github/env" >> "$GITHUB_ENV"
echo "E2E_DIAGNOSTIC_DIRECTORY=$(mktemp -d)" >> "$GITHUB_ENV"
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- name: Build images
run: |
export SHELL="/bin/bash"
make build image
- name: Start kind cluster
uses: helm/kind-action@v1.10.0
with:
version: ${{ env.kind-version }}
node_image: ${{ env.kind-image }}
wait: 300s
config: ./test/e2e/kind-conf.yaml
cluster_name: e2e
- name: Wait for cluster to finish bootstraping
run: |
echo "Waiting for all nodes to be ready..."
kubectl wait --for=condition=Ready nodes --all --timeout=120s
kubectl get nodes
echo "Waiting for all pods to be ready..."
kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s
kubectl get pods -A
echo "Cluster information"
kubectl cluster-info
- name: Load images
run: |
make test-e2e-images
kubectl apply -f scripts/kind-rbac.yaml
- name: Run tests
env:
E2E_DIAGNOSTIC_DIRECTORY: ${{ env.E2E_DIAGNOSTIC_DIRECTORY }}
TEST_EXPERIMENTAL_PROMETHEUS: "true"
run: |
make ${{ matrix.target }}
# Added to summarize the matrix and allow easy branch protection rules setup
e2e-tests-result:
name: End-to-End Test Results
if: github.repository == 'prometheus-operator/prometheus-operator'
needs:
- e2e-tests
runs-on: ubuntu-latest
steps:
- name: Mark the job as a success
if: needs.e2e-tests.result == 'success'
run: exit 0
- name: Mark the job as a failure
if: needs.e2e-tests.result != 'success'
run: exit 1