Skip to content
Open
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/codecov-checks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Codecov config validator

on:
push:
paths:
- 'codecov.yml'
- '.github/workflows/codecov-checks.yaml'
pull_request:
paths:
- 'codecov.yml'
- '.github/workflows/codecov-checks.yaml'

jobs:
codecov_validate:
runs-on: ubuntu-latest
env:
CODECOV_CONFIG_FILE: codecov.yml
CODECOV_VALIDATE_URL: https://codecov.io/validate
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Validate codecov.yml
env:
CURL_OPTS: "--connect-timeout 10 --max-time 30 --retry 3 --retry-all-errors"
run: |
output=$(curl -s -w "\n%{http_code}" ${CURL_OPTS} --data-binary @"${CODECOV_CONFIG_FILE}" "${CODECOV_VALIDATE_URL}")
http_code=$(echo "$output" | tail -1)
body=$(echo "$output" | sed '$d')
echo "$body"
if [ "$http_code" -eq 200 ]; then
echo "${CODECOV_CONFIG_FILE} is valid"
exit 0
fi
if [ "$http_code" -eq 400 ]; then
echo "${CODECOV_CONFIG_FILE} is invalid (HTTP $http_code)"
exit 1
fi
echo "::warning ::Codecov validation endpoint returned HTTP $http_code after retries. This may be a transient issue — please re-run the job."
# Don't fail the job on transient Codecov API issues
exit 0
Comment thread
rm3l marked this conversation as resolved.
Outdated
15 changes: 11 additions & 4 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:

- name: Set env vars
run: |
echo "COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
OPERATOR_MANIFEST="${{ github.workspace }}/dist/rhdh/install.yaml"
echo "OPERATOR_MANIFEST=${OPERATOR_MANIFEST}" >> $GITHUB_ENV
OPERATOR_IMAGE=$(curl -s "file://${OPERATOR_MANIFEST}" | yq 'select(.kind == "Deployment" and .metadata.labels.app == "rhdh-operator") | .spec.template.spec.containers[0].image')
Expand All @@ -55,21 +56,27 @@ jobs:
rm_cmd: "rmz"

- name: Setup Go
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
with:
go-version-file: 'go.mod'

# gosec needs a "build" stage so connect it to the lint step which we always do
- name: Build
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
run: make lint

- name: Test
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
# run this stage only if there are changes that match the includes and not the excludes
run: make test

- name: Upload coverage to Codecov
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: cover.out
flags: unittests,nightly
fail_ci_if_error: false
override_commit: ${{ env.COMMIT_SHA }}
override_branch: ${{ matrix.branch }}

- name: Create Kind cluster (integration tests)
if: ${{ steps.operator-image-existence-checker.outputs.OPERATOR_IMAGE_EXISTS == 'true' }}
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,17 @@ jobs:
if: steps.changed-files.outputs.any_changed == 'true'
run: make test

- name: Upload coverage to Codecov
if: steps.changed-files.outputs.any_changed == 'true'
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: cover.out
flags: unittests
fail_ci_if_error: false
override_commit: ${{ github.event.pull_request.head.sha }}
override_pr: ${{ github.event.number }}

- name: Create Kind cluster
if: steps.changed-files.outputs.any_changed == 'true'
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
Expand Down
41 changes: 41 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
codecov:
require_ci_to_pass: true

coverage:
status:
project:
default:
target: auto
threshold: 1%
if_ci_failed: error
informational: true
patch:
default:
target: auto
threshold: 5%
if_ci_failed: error
informational: true

comment:
layout: "reach,diff,flags,files"
behavior: default
require_changes: true
require_base: false
require_head: true

flag_management:
individual_flags:
- name: unittests
Comment thread
rm3l marked this conversation as resolved.
carryforward: true
- name: nightly
carryforward: true

ignore:
- "api/**"
- "**/zz_generated*.go"
- "bundle/**"
- "config/**"
- "tests/**"
- "integration_tests/**"
- "hack/**"
- "cmd/main.go"
Loading