Skip to content

feature/CSTACKEX-223: Cloudstack CICD pipeline - #98

Open
sandeeplocharla wants to merge 13 commits into
mainfrom
feature/CSTACKEX-223
Open

sandeeplocharla wants to merge 13 commits into
mainfrom
feature/CSTACKEX-223

Conversation

@sandeeplocharla

@sandeeplocharla sandeeplocharla commented Sep 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This PR has changes to bring up CICD pipeline for Cloudstack
https://netapp.atlassian.net/wiki/spaces/OSSG/pages/689709001/CloudStack+NetApp+ONTAP+CI+CD+Pipeline

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

Successful End-to-End build URL: https://virtualization-jenkins.daas.netapp.com/job/cloudstack-ontap-presubmit/121/console

Presubmit start mail
CS_Presubmit_Start_Mail-1

Presubmit Success mail
CS_Presubmit_Success_Mail-1
CS_Presubmit_Success_Mail-2
CS_Presubmit_Success_Mail-3

Presubmit Failure mail
CS_Presubmit_Failure_Mail-1
CS_Presubmit_Failure_Mail-2
CS_Presubmit_Failure_Mail-3
CS_Presubmit_Failure_Mail-4

@sandeeplocharla sandeeplocharla self-assigned this Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.60%
Branch coverage 18.77%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.59%
Branch coverage 18.76%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.59%
Branch coverage 18.76%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@sandeeplocharla sandeeplocharla changed the title feature/CSTACKEX-223 feature/CSTACKEX-223: Cloudstack CICD pipeline Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.60%
Branch coverage 18.77%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.59%
Branch coverage 18.76%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.59%
Branch coverage 18.76%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

A refused Check Run only logged the curl exit code, so GitHub's reason
stayed hidden and reproducing it cost a full worker run of over an hour.
Print GitHub's message, errors, and documentation link on failure, and
add SOURCE_MODE=diagnose to probe token type, repository access, Checks
read, and one Checks write in seconds.

Also record that NetApp's CI/CD in Github guide grants Commit statuses
rather than the Checks permission a Check Run needs, which is why an App
built from that guide reads pull requests fine but cannot publish.
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

🔴 Test Coverage Grade: D — Marginal

Metric Value
Line coverage 24.60%
Branch coverage 18.77%

Grade Scale

Grade Line Coverage Meaning
🟢 A ≥ 80% Excellent - this code sleeps well at night 😴
🟡 B 60-79% Good - almost there, don't stop now 😉
🟠 C 40-59% Acceptable - your code is wearing a seatbelt, but no airbags 😬
🔴 D 20-39% Marginal - boldly shipping where no test has gone before 🖖
⛔ F < 20% Failing - tests? what tests? 🔥

Branch coverage is shown as a secondary signal. Grade is determined by line coverage.
View full Actions run

@@ -0,0 +1,225 @@
#!/usr/bin/env bash

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename the file name to meaningful name instead of phase2.

# Optional: PR_ID and BUILD_TAG label the check run.
# Called by the Jenkinsfile. Does not call other private-cicd scripts.

set -euo pipefail

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-e is not required, handle the error explicitly instead of abrupt failure. Please add try catch block or common error block to log the errors with graceful failure.

@@ -0,0 +1,91 @@
#!/usr/bin/env python3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is difference between list-eligible-prs vs test_list_eligible_prs?

@@ -0,0 +1,105 @@
# Licensed to the Apache Software Foundation (ASF) under one

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General comments (post PR, you can handle it).

  1. Use multibranch pipeline.
  2. Rename the file according to the code context instead of phase names.
  3. Change the frequency from 5Mins to 30Mins

Right now, code is good to commit and enable it for the dry run.

Additional points,

  1. For code coverage, we have to use our own runners instead of Github native due to security concerns. We can check with support as well.

We will let you know the best practices, which we are constructing from the Hyper-V DevOps work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants