Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SRE-2171 ci: Big refactor of GHA workflows #15556

Merged
merged 4 commits into from
Dec 9, 2024
Merged

Conversation

brianjmurrell
Copy link
Contributor

@brianjmurrell brianjmurrell commented Dec 3, 2024

Add the use of reusable workflows and actions to reduce the amount of duplicated code in this repository as well as dependency repositories.

Fixes: SRE-2570

Before requesting gatekeeper:

  • Two review approvals and any prior change requests have been resolved.
  • Testing is complete and all tests passed or there is a reason documented in the PR why it should be force landed and forced-landing tag is set.
  • Features: (or Test-tag*) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.
  • Commit messages follows the guidelines outlined here.
  • Any tests skipped by the ticket being addressed have been run and passed in the PR.

Gatekeeper:

  • You are the appropriate gatekeeper to be landing the patch.
  • The PR has 2 reviews by people familiar with the code, including appropriate owners.
  • Githooks were used. If not, request that user install them and check copyright dates.
  • Checkpatch issues are resolved. Pay particular attention to ones that will show up on future PRs.
  • All builds have passed. Check non-required builds for any new compiler warnings.
  • Sufficient testing is done. Check feature pragmas and test tags and that tests skipped for the ticket are run and now pass with the changes.
  • If applicable, the PR has addressed any potential version compatibility issues.
  • Check the target branch. If it is master branch, should the PR go to a feature branch? If it is a release branch, does it have merge approval in the JIRA ticket.
  • Extra checks if forced landing is requested
    • Review comments are sufficiently resolved, particularly by prior reviewers that requested changes.
    • No new NLT or valgrind warnings. Check the classic view.
    • Quick-build or Quick-functional is not used.
  • Fix the commit message upon landing. Check the standard here. Edit it to create a single commit. If necessary, ask submitter for a new summary.

Add the use of reusable workflows and actions to reduce the amount of
duplicated code in this repository as well as dependency repositories.

Skip-PR-comments: true
Test-tag: always_passes

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
@brianjmurrell brianjmurrell self-assigned this Dec 3, 2024
@brianjmurrell brianjmurrell requested a review from a team as a code owner December 3, 2024 20:52
Cancel-prev-build: false
Run-GHA: true
Skip-PR-comments: true
Test-tag: always_passes

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
Copy link

github-actions bot commented Dec 3, 2024

Functional on EL 8.8 Test Results

133 tests   129 ✅  1h 29m 1s ⏱️
 42 suites    4 💤
 42 files      0 ❌

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 3, 2024

Errors are Unable to load ticket data
https://daosio.atlassian.net/browse/SRE-2171

matrix: ${{ steps.matrix.outputs.text }}
steps:
- name: Checkout code
uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Import commit pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
COMMIT_STATUS_DISTRO_VERSION:
steps:
- name: Checkout code
uses: actions/checkout@v4

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
fetch-depth: 500
ref: ${{ github.event.pull_request.head.sha }}
- name: Import commit pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Publish test results
if: (!cancelled()) && (success() || failure()) &&
steps.run-test.outcome != 'skipped'
uses: EnricoMi/publish-unit-test-result-action@v2

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 1: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
path: ${{ env.STAGE_NAME }}/**/results.xml
- name: Update commit status
if: contains(fromJSON('["push", "pull_request"]'), github.event_name)
uses: ouzi-dev/commit-status-updater@v2

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Import commit pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Import commit pragmas
uses: ./.github/actions/import-commit-pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Import commit pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
- name: Import commit pragmas
uses: ./.github/actions/import-commit-pragmas
uses: daos-stack/action-import-commit-pragmas@v1

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
Copy link

github-actions bot commented Dec 3, 2024

Functional Hardware Medium Test Results

156 tests   129 ✅  2h 7m 5s ⏱️
 39 suites   27 💤
 39 files      0 ❌

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 3, 2024

Functional Hardware Medium Verbs Provider Test Results

28 tests   28 ✅  17s ⏱️
 7 suites   0 💤
 7 files     0 ❌

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 3, 2024

Functional Hardware Large Test Results

66 tests   66 ✅  28m 58s ⏱️
15 suites   0 💤
15 files     0 ❌

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 3, 2024

Functional on EL 9.4 Test Results

133 tests   128 ✅  1h 35m 29s ⏱️
 42 suites    4 💤
 42 files      1 ❌

For more details on these failures, see this check.

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Dec 3, 2024

Functional on Leap 15.5 Test Results

133 tests   129 ✅  1h 28m 25s ⏱️
 42 suites    4 💤
 42 files      0 ❌

Results for commit 8244ddb.

♻️ This comment has been updated with latest results.

Run-GHA: true
Skip-PR-comments: true
Test-tag: always_passes

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
(!cancelled()) &&
(needs.Call-RPM-Build.result == 'success' ||
needs.Call-RPM-Build.result == 'skipped') &&
(needs.Functional.result == 'success' ||

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: GitHub-owned GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help
Run-GHA: true
Skip-PR-comments: true
Test-tag: always_passes

Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
@brianjmurrell brianjmurrell requested a review from a team December 8, 2024 03:22
@phender phender merged commit 84a4f34 into master Dec 9, 2024
102 of 109 checks passed
@phender phender deleted the bmurrell/gha-refactor branch December 9, 2024 14:34
brianjmurrell added a commit that referenced this pull request Dec 11, 2024
Add the use of reusable workflows and actions to reduce the amount of
duplicated code in this repository as well as dependency repositories.

Fixes: SRE-2570


# NOTE: The following default set of pragmas will result in no build
#       or test.
#
#       Please edit the list of pragmas to produce the minimal amount of build
#       and test to prove your PR works.
#
#       Or if you have already done the above, and your PR is ready for it's
#       final for-landing run, remove all of the following pragmas.
#
#       More detail can be found at
#       https://wiki.hpdd.intel.com/display/CI/Commit+Pragmas.
# You should not use this one without prior approval:
#Priority: 3
# Run the GitHub Actions test jobs
#Run-GHA: false
Skip-checkpatch: true
Skip-python-bandit: true
Skip-build: true
# Or you can skip specific PR build stages:
#Skip-build-ubuntu20-rpm: true
#Skip-build-el8-rpm: true
#Skip-build-leap15-rpm: true
#Skip-build-el8-gcc: true
#Skip-build-el8-gcc-debug: true
#Skip-build-el8-gcc-release: true
#Skip-build-leap15-gcc: true
#Skip-build-leap15-icc: true
#Skip-build-ubuntu-clang: true

# And/or you could just enable quick-build below which reduces build tims considerably
Quick-build: true
# Just build and run Functional tests, skipping all others
Quick-Functional: true
# or building with multiple jobs
#Parallel-build: true

#Skip-unit-tests: true
# Or you could choose which Unit Test stages to skip below
#Skip-nlt: true
#Skip-unit-test: true
#Skip-unit-test-memcheck: true
#Skip-test: true

# Every run should include the features it is testing.  Uncomment the below
# line and add the features (space separated) your PR should be testing for.
# I.e. rebuild, ...
#Features:

# Or you can choose which test stages to skip below
#Skip-coverity-test: true
#Skip-fault-injection-test: true
# Skip all Functional test stages
#Skip-func-test: true
# Skip all Functional test stages on VMs
#Skip-func-test-vm: true
# Don't skip the valgrind functional test
#Skip-func-test-vm-valgrind: false
# Skip Functional test stages on EL7, EL8 or Leap 15
#Skip-func-test-el7: true
#Skip-func-test-el8: true
#Skip-func-test-leap15: true
# Skip all Functional test stages on hardware
#Skip-func-hw-test: true
# or just specific hardware test stages
#Skip-func-hw-test-small: true
#Skip-func-hw-test-medium: true
#Skip-func-hw-test-medium-verbs-provider: true
#Skip-func-hw-test-medium-ucx-provider: true
#Skip-func-hw-test-large: true
#Skip-scan-rpms: true
#Skip-test-rpms: true
# or per distro variants:
#Skip-scan-centos-rpms: true
#Skip-scan-centos-7-rpms: true
#Skip-scan-centos-8-rpms: true
#Skip-scan-leap-15-rpms: true
#Skip-test-centos-rpms: true
#Skip-test-centos-7-rpms: true
#Skip-test-centos-8-rpms: true
#Skip-test-centos-8.3-rpms: true

# If you do run any of the above Functional test stages, please use the following to
# limit your tests run to the tests/features you are working on
# You can add the tags for your tests to the appropriate pragmas below:
#Test-tag: -hw
#Test-tag-hw-small: hw,small
#Test-tag-hw-medium: hw,medium,ib2
#Test-tag-hw-large: hw,large

# If you want to allow Hardware testing to run even if VM testing fails:
Allow-unstable-test: true

# if you want to test your PR with a PR of a component, you can speify that PR:
#PR-repos: project@PR-number[:build_num]

# if you want to disable using RPMs in the Functional tests:
#RPM-test: false

# Or if you want to test with daos RPMs that are already built (i.e. in another PR or in the repo):
#RPM-test-version: version[-release]
# to get the latest RPMs for the current verison:
#RPM-test-version: 2.6.2

# This should be figured out automatically, but you can force it with
#Doc-only: true

# If you want to use a repo-files PR
# Repo-files-PR: PR-123

# If you'd prefer not to have your PRs cluttered up with stage failure
# comments, uncomment this
# Skip-PR-comments: true

# ansible-role-snapshot_host-branch: branch-name
# ansible-role-kvm-branch: branch-name

# to use a different cluster for various stages
# VM1-label: ci_vm1
# Ubuntu-VM9-label: ci_vm9
# Leap15-VM9-label: ci_vm9
# EL8-VM9-label: ci_vm9
# HW-medium-label: ci_nvme5
# HW-large-label: ci_nvme9

# to tell CI not to skip a test due to a ticket
# Fixes: DAOS-1234
#
# If you are ready to push a full CI build and test you can uncomment
# the below pragma:
#Full-CI-run: true
Signed-off-by: Brian J. Murrell <[email protected]>
brianjmurrell added a commit that referenced this pull request Dec 11, 2024
Add the use of reusable workflows and actions to reduce the amount of
duplicated code in this repository as well as dependency repositories.

Run Bullseye workflow on schedule (#15574)
Saturdays at midnight, UTC.

Accept and propagate a run-gha variable (#15576)
For the case where daos is being used as a downstream test.

Fixes: SRE-2570 DAOS-16262

Run-GHA: false
Skip-PR-comments: true

Signed-off-by: Brian J. Murrell <[email protected]>
brianjmurrell added a commit that referenced this pull request Dec 12, 2024
Add the use of reusable workflows and actions to reduce the amount of
duplicated code in this repository as well as dependency repositories.

Run Bullseye workflow on schedule (#15574)
Saturdays at midnight, UTC.

Accept and propagate a run-gha variable (#15576)
For the case where daos is being used as a downstream test.

Test inputs context before trying to use it.

Fixes: SRE-2570 DAOS-16262

Skip-PR-comments: true
Test-tag: always_passes
Required-githooks: true

Signed-off-by: Brian J. Murrell <[email protected]>
daltonbohning pushed a commit that referenced this pull request Dec 13, 2024
Add the use of reusable workflows and actions to reduce the amount of
duplicated code in this repository as well as dependency repositories.

Run Bullseye workflow on schedule (#15574)
Saturdays at midnight, UTC.

Accept and propagate a run-gha variable (#15576)
For the case where daos is being used as a downstream test.

Test inputs context before trying to use it.

Fixes: SRE-2570 DAOS-16262

Signed-off-by: Brian J. Murrell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants