Skip to content

Commit

Permalink
Merge tag 'refs/tags/v0.79.0' into release-2.12
Browse files Browse the repository at this point in the history
v0.79.0
  • Loading branch information
github-actions[bot] committed Dec 16, 2024
2 parents 233733b + 85ac658 commit 7ee0c49
Show file tree
Hide file tree
Showing 852 changed files with 97,268 additions and 29,462 deletions.
6 changes: 3 additions & 3 deletions .github/env
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
golang-version=1.22
kind-version=v0.23.0
kind-image=kindest/node:v1.30.0
golang-version=1.23
kind-version=v0.25.0
kind-image=kindest/node:v1.31.2
22 changes: 22 additions & 0 deletions .github/workflows/actionlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Lint GitHub action workflows
on:
push:
paths:
- ".github/workflows/**"
pull_request :
paths:
- ".github/workflows/**"

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download actionlint
id: get_actionlint
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
shell: bash
- name: Check workflow files
run: ${{ steps.get_actionlint.outputs.executable }} -color
shell: bash
27 changes: 27 additions & 0 deletions .github/workflows/changed-files.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: changed-files

on:
workflow_call:
outputs:
non-markdown-files:
description: "changed files list"
value: ${{ jobs.changed-files.outputs.non-markdown-files }}

jobs:
changed-files:
# Map the job outputs to step outputs
outputs:
non-markdown-files : ${{ steps.changed-files.outputs.non-markdown-files}}
runs-on: ubuntu-latest
steps:
- name: checkout repo
id: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: get changed files
id: changed-files
run: |
echo "non-markdown-files=$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep -iv .md$ | xargs)" >> "$GITHUB_OUTPUT"
- run: |
echo "${{ steps.changed-files.outputs.non-markdown-files}}"
56 changes: 47 additions & 9 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
- 'main'
tags:
- 'v*'
# To cancel running workflow when new commits pushed in a pull request
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
generate:
runs-on: ${{ matrix.os }}
Expand All @@ -20,43 +24,77 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make --always-make format generate && git diff --exit-code
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

comment-generate-failure:
if: ${{ failure() }}
permissions:
pull-requests: write
needs: generate
name: Comment troubleshooting message for format and generate failure
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Comment PR
uses: thollander/actions-comment-pull-request@v3
with:
message: 'Auto-generated files are likely not up-to-date. Please make sure to run `make --always-make format generate`, commit the modifications and push the updated branch.'

check-docs:
runs-on: ubuntu-latest
name: Check Documentation formatting and links
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make check-docs
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

comment-docs-failure:
if: ${{ failure() }}
permissions:
pull-requests: write
needs: check-docs
name: Comment troubleshooting message for check-docs failure
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Comment PR
uses: thollander/actions-comment-pull-request@v3
with:
message: 'Formatting and local/remote links likely not correct. Please make sure to run `make check-docs`, commit the modifications and push the updated branch.'

check-golang:
runs-on: ubuntu-latest
name: Golang linter
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- name: go.mod
run: make tidy && git diff --exit-code
- name: golangci-lint
uses: golangci/golangci-lint-action@v6.0.1
uses: golangci/golangci-lint-action@v6.1.1
with:
version: v1.57.2
version: v1.62.2
args: --timeout 10m0s --go ${{ env.golang-version }}

check-metrics:
Expand All @@ -65,7 +103,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
Expand All @@ -83,22 +121,22 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: make operator

po-rule-migration:
runs-on: ubuntu-latest
name: Build Prometheus Operator rule config map to rule file CRDs CLI tool
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: cat ".github/env" >> "$GITHUB_ENV"
- uses: actions/setup-go@v5
with:
go-version: '${{ env.golang-version }}'
check-latest: true
- run: cd cmd/po-rule-migration && go install

40 changes: 24 additions & 16 deletions .github/workflows/e2e-feature-gated.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
name: e2e-feature-gated
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'release-*'
- 'master'
- 'main'
tags:
- 'v*'
paths-ignore:
- '**/*.md'
# To cancel running workflow when new commits pushed in a pull request
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
changed-files:
uses: ./.github/workflows/changed-files.yaml
e2e-tests:
name: E2E tests for feature gates
needs: changed-files
if: ${{ needs.changed-files.outputs.non-markdown-files }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Import environment variables from file
run: cat ".github/env" >> $GITHUB_ENV
run: |
cat ".github/env" >> "$GITHUB_ENV"
echo "E2E_DIAGNOSTIC_DIRECTORY=$(mktemp -d)" >> "$GITHUB_ENV"
- name: Install Go
uses: actions/setup-go@v5
with:
Expand Down Expand Up @@ -49,16 +56,17 @@ jobs:
kubectl cluster-info
- name: Load images
run: |
kind load docker-image -n e2e quay.io/prometheus-operator/prometheus-operator:$(git rev-parse --short HEAD)
kind load docker-image -n e2e quay.io/prometheus-operator/prometheus-config-reloader:$(git rev-parse --short HEAD)
kind load docker-image -n e2e quay.io/prometheus-operator/admission-webhook:$(git rev-parse --short HEAD)
make test-e2e-images
kubectl apply -f scripts/kind-rbac.yaml
- name: Run tests
run: >
EXCLUDE_ALERTMANAGER_TESTS=exclude
EXCLUDE_PROMETHEUS_TESTS=exclude
EXCLUDE_PROMETHEUS_ALL_NS_TESTS=exclude
EXCLUDE_THANOSRULER_TESTS=exclude
EXCLUDE_OPERATOR_UPGRADE_TESTS=exclude
EXCLUDE_PROMETHEUS_UPGRADE_TESTS=exclude
make test-e2e
env:
E2E_DIAGNOSTIC_DIRECTORY: ${{ env.E2E_DIAGNOSTIC_DIRECTORY }}
run: |
make test-e2e-feature-gates
- name: Upload diagnostics artifact
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: cluster-state
path: ${{ env.E2E_DIAGNOSTIC_DIRECTORY }}
retention-days: 15
86 changes: 86 additions & 0 deletions .github/workflows/e2e-prometheus2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
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_PROMETHEUS_V2: "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
Loading

0 comments on commit 7ee0c49

Please sign in to comment.