mirror of
https://github.com/prometheus-operator/prometheus-operator.git
synced 2025-04-15 16:56:24 +00:00
142 lines
4.2 KiB
YAML
142 lines
4.2 KiB
YAML
name: checks
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- 'release-*'
|
|
- 'master'
|
|
- '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 }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- macos-latest
|
|
- ubuntu-latest
|
|
name: Generate and format
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Import environment variables from file
|
|
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"
|
|
- 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"
|
|
- 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.1.1
|
|
with:
|
|
version: v1.62.2
|
|
args: --timeout 10m0s --go ${{ env.golang-version }}
|
|
|
|
check-metrics:
|
|
runs-on: ubuntu-latest
|
|
name: Check prometheus metrics
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Import environment variables from file
|
|
run: cat ".github/env" >> "$GITHUB_ENV"
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '${{ env.golang-version }}'
|
|
check-latest: true
|
|
- run: make check-metrics
|
|
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- macos-latest
|
|
- ubuntu-latest
|
|
name: Build operator binary
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Import environment variables from file
|
|
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"
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '${{ env.golang-version }}'
|
|
check-latest: true
|
|
- run: cd cmd/po-rule-migration && go install
|