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

Release-1.6.0 #1084

Merged
merged 1 commit into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from all 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
35 changes: 35 additions & 0 deletions .github/actions/get-ocp-range/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: 'Get OCP range'
description: 'Get the range of OCP versions corresponding to the provided range of Kubernetes versions'
inputs:
kube-version-range:
description: 'Range of Kubernetes versions'
required: true
outputs:
ocp-version-range:
description: "Corresponsing range of OCP versions"
value: ${{ steps.run-get-ocp-range.outputs.ocp-version-range }}
runs:
using: "composite"
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '>=1.20'

- name: Install get-ocp-range
shell: bash
run: go install github.com/opdev/getocprange/cmd/get-ocp-range@latest

- name: Run get-ocp-range
id: run-get-ocp-range
shell: bash
run: |
echo "::debug::Received kubeVersionRange to translate '${{ inputs.kube-version-range }}'"
OCP_VERSION_RANGE=$(get-ocp-range '${{ inputs.kube-version-range }}')
echo "ocp-version-range=$OCP_VERSION_RANGE" >> $GITHUB_OUTPUT
echo "::debug::Successfully translated kubeVersionRange to OCPVersionRange $OCP_VERSION_RANGE"

- name: Display error message if get-ocp-range failed
if: ${{ failure() && steps.run-get-ocp-range.outcome == 'failure' }}
shell: bash
run: echo "::error file=.github/actions/get-ocp-range/action.yaml::Error running get-ocp-range"
207 changes: 161 additions & 46 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions .github/workflows/python-style.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Python Style

on:
pull_request:
paths:
# Only trigger on core script changes
- 'scripts/**.py'

jobs:
enforce:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python 3.x Part 1
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install style tooling
working-directory: scripts
run: make venv.codestyle
- name: Run formatter
working-directory: scripts
run: make ci.format
# Temporarily auto-pass linting until we are able to manually review and
# address.
- name: Run linter
working-directory: scripts
run: make lint || true
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
PR_NUMBER: ${{ github.event.pull_request.number }}
PR_BODY: "Test triggered by ${{ github.event.pull_request.html_url }}."
run: |
echo "Full test in pr : {{steps.check_request.outputs.full_tests_in_pr }}"
echo "Full test in pr : ${{ steps.check_request.outputs.full_tests_in_pr }}"
if ${{steps.check_if_release_pr.outputs.charts_release_branch == 'true' || steps.check_request.outputs.full_tests_in_pr == 'true' }} ; then
echo "Release PR from dev to charts, oer PR with new full test, so running full tests"
ve1/bin/behave tests/functional/behave_features/ --tags=full --logging-level=WARNING --no-capture --no-color
Expand Down
75 changes: 35 additions & 40 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,36 +23,32 @@ submit a chart and the report together.
**Table of Contents:**

<!--ts-->
- [OpenShift Helm Charts Repository](#openshift-helm-charts-repository)
- [Submitting Chart Related Changes](#submitting-chart-related-changes)
- [Preparation](#preparation)
- [Submitting a Chart without Chart Verification Report](#submitting-a-chart-without-chart-verification-report)
- [Submitting a Chart Verification Report without the Chart](#submitting-a-chart-verification-report-without-the-chart)
- [Signed Report](#signed-report)
- [Report for a Signed chart](#report-for-a-signed-chart)
- [Submitting a Chart Verification Report with the Chart](#submitting-a-chart-verification-report-with-the-chart)
- [Signed Report](#signed-report-1)
- [Signed Chart](#signed-chart)
- [Post Submission Manual Review](#post-submission-manual-review)
- [Troubleshooting Pull Request Failures](#troubleshooting-pull-request-failures)
- [Error when submitting files not part of any chart](#error-when-submitting-files-not-part-of-any-chart)
- [Missing OWNERS file in the chart directory](#missing-owners-file-in-the-chart-directory)
- [Pull request author is not part of OWNERS file](#pull-request-author-is-not-part-of-owners-file)
- [Vendor label mismatch with the directory structure](#vendor-label-mismatch-with-the-directory-structure)
- [Chart name mismatch with the directory structure](#chart-name-mismatch-with-the-directory-structure)
- [Error when submitting both chart source and tarball](#error-when-submitting-both-chart-source-and-tarball)
- [Error when submitting files not related to any chart](#error-when-submitting-files-not-related-to-any-chart)
- [Error when digest in the report is not matching with the chart digest](#error-when-digest-in-the-report-is-not-matching-with-the-chart-digest)
- [Error with the chart URL when submitting report](#error-with-the-chart-url-when-submitting-report)
- [Chart name and version mismatch errors](#chart-name-and-version-mismatch-errors)
- [Report failures](#report-failures)
- [Signed chart failures](#signed-chart-failures)
- [Web catalog only delivery](#web-catalog-only-delivery)
- [Frequently Asked Questions](#frequently-asked-questions)
- [Can I test the pull request in my fork before submitting?](#can-i-test-the-pull-request-in-my-fork-before-submitting)
- [Can I use any command-line interface to create pull request?](#can-i-use-any-command-line-interface-to-create-pull-request)
- [How to update OWNERS file?](#how-to-update-owners-file)
- [Support](#support)
* [OpenShift Helm Charts Repository](#openshift-helm-charts-repository)
* [Submitting Chart Related Changes](#submitting-chart-related-changes)
* [Preparation](#preparation)
* [Submitting a Chart without Chart Verification Report](#submitting-a-chart-without-chart-verification-report)
* [Submitting a Chart Verification Report without the Chart](#submitting-a-chart-verification-report-without-the-chart)
* [Submitting a Chart Verification Report with the Chart](#submitting-a-chart-verification-report-with-the-chart)
* [Post Submission Manual Review](#post-submission-manual-review)
* [Troubleshooting Pull Request Failures](#troubleshooting-pull-request-failures)
* [Error when submitting files not part of any chart](#error-when-submitting-files-not-part-of-any-chart)
* [Missing OWNERS file in the chart directory](#missing-owners-file-in-the-chart-directory)
* [Pull request author is not part of OWNERS file](#pull-request-author-is-not-part-of-owners-file)
* [Vendor label mismatch with the directory structure](#vendor-label-mismatch-with-the-directory-structure)
* [Chart name mismatch with the directory structure](#chart-name-mismatch-with-the-directory-structure)
* [Error when submitting both chart source and tarball](#error-when-submitting-both-chart-source-and-tarball)
* [Error when submitting files not related to any chart](#error-when-submitting-files-not-related-to-any-chart)
* [Error when digest in the report is not matching with the chart digest](#error-when-digest-in-the-report-is-not-matching-with-the-chart-digest)
* [Error with the chart URL when submitting report](#error-with-the-chart-url-when-submitting-report)
* [Chart name and version mismatch errors](#chart-name-and-version-mismatch-errors)
* [Report failures](#report-failures)
* [Signed chart failures](#signed-chart-failures)
* [Web catalog only delivery](#web-catalog-only-delivery)
* [Frequently Asked Questions](#frequently-asked-questions)
* [Can I test the pull request in my fork before submitting?](#can-i-test-the-pull-request-in-my-fork-before-submitting)
* [Can I use any command-line interface to create pull request?](#can-i-use-any-command-line-interface-to-create-pull-request)
* [How to update OWNERS file?](#how-to-update-owners-file)
* [Support](#support)
<!--te-->

---
Expand Down Expand Up @@ -361,7 +357,7 @@ If the vendor label in the `OWNERS` file is wrong, you can follow the [partner
connect documentation][partners] to update the `OWNERS` file.

If the directory structure (organization name) is wrong, please reach out to
[Technology Partner Success Desk][partner-acceleration-desk].
[Technology Partner Success Desk][partner-success-desk].

### Chart name mismatch with the directory structure

Expand All @@ -376,7 +372,7 @@ If the chart name in the `OWNERS` file is wrong, you can follow the [partner
connect documentation][partners] to update the `OWNERS` file.

If the directory structure (chart name) is wrong, please reach out to
[Partner Acceleration Desk][partner-acceleration-desk].
[Technology Partner Success Desk][partner-success-desk].

### Error when submitting both chart source and tarball

Expand Down Expand Up @@ -462,7 +458,7 @@ of [chart-verifier][chart-verifier] tool.
```

If the error is still persisting after upgrading to latest chart-verifier,
please contact [Partner Acceleration Desk][partner-acceleration-desk].
please contact [Technology Partner Success Desk][partner-success-desk].

If the report has some failure, it will be displayed like this:

Expand Down Expand Up @@ -519,7 +515,7 @@ There are three methods of distribution for certified helm charts.
- Web catalog only
- This submission should be report only using a private chart URL.

For more information on the different Helm Chart Distribution methods, see: [Creating a Helm Chart Certification Project](https://access.redhat.com/documentation/en-us/red_hat_software_certification/8.67/html/red_hat_software_certification_workflow_guide/proc_creating-a-helm-chart-project_openshift-sw-cert-workflow-validating-helm-charts-for-certification)
For more information on the different Helm Chart Distribution methods, see: [Creating a Helm Chart Certification Project](https://redhat-connect.gitbook.io/partner-guide-for-red-hat-openshift-and-container/helm-chart-certification/creating-a-helm-chart-certification-project)

## Frequently Asked Questions

Expand All @@ -539,27 +535,26 @@ Yes, you can use the [GitHub CLI to create pull request][gh-cli-pr].

### How to update OWNERS file?

Partners can refer to the [partner documentation for Submitting your Helm chart for certification][owner-file].
Partners can refer to the [partner documentation][partners].

For Red Hat and Community charts, submit a PR towards `main` branch with an _OWNERS_ file under your chart directory within your orgranization directory.

## Support

You can use the issue tracker in this repository to report bugs. If you are a
partner, please refer to the [Partner Acceleration Desk
documentation][partner-acceleration-desk].
partner, please refer to the [Technology Partner Success Desk
documentation][partner-success-desk].

---

[^Top](#openshift-helm-charts-repository)

[partners]: https://access.redhat.com/documentation/en-us/red_hat_software_certification/
[owner-file]: https://access.redhat.com/documentation/en-us/red_hat_software_certification/8.67/html/red_hat_software_certification_workflow_guide/submitting-your-helm-chart-for-certification_openshift-sw-cert-workflow-complete-pre-certification-checklist-for-helmcharts
[partners]: https://redhat-connect.gitbook.io/certification-guides/
[chart-verifier]: https://github.com/redhat-certification/chart-verifier
[index-url]: https://charts.openshift.io
[pat]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
[encyrpted-secret]: https://docs.github.com/en/actions/reference/encrypted-secrets
[gh-cli-pr]: https://cli.github.com/manual/gh_pr_create
[partner-acceleration-desk]: https://access.redhat.com/articles/6463941
[partner-success-desk]: https://redhat-connect.gitbook.io/red-hat-partner-connect-general-guide/managing-your-account/getting-help/technology-partner-success-desk
[new-issue]: https://github.com/openshift-helm-charts/repo/issues/new/choose
[ascii-armor]: https://www.redhat.com/sysadmin/creating-gpg-keypairs
56 changes: 56 additions & 0 deletions scripts/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
PY_BIN ?= python3

# The virtualenv containing code style tools.
VENV_CODESTYLE = venv.codestyle
VENV_CODESTYLE_BIN = $(VENV_CODESTYLE)/bin

# The virtualenv containing our CI scripts
VENV_TOOLS = venv.tools
VENV_TOOLS_BIN = $(VENV_TOOLS)/bin

# This is what we pass to git ls-files.
LS_FILES_INPUT_STR ?= 'src/*.py'

.PHONY: default
default: format lint

# The same as format, but will throw a non-zero exit code
# if the formatter had to make changes.
.PHONY: ci.format
ci.format: format
git diff --exit-code

venv.codestyle:
$(MAKE) venv.codestyle.always-reinstall

# This target will always install the codestyle venv.
# Useful for development cases.
.PHONY: venv.codestyle.always-reinstall
venv.codestyle.always-reinstall:
$(PY_BIN) -m venv $(VENV_CODESTYLE)
./$(VENV_CODESTYLE_BIN)/pip install --upgrade \
black \
ruff

.PHONY: format
format: venv.codestyle
./$(VENV_CODESTYLE_BIN)/black \
--verbose \
$$(git ls-files $(LS_FILES_INPUT_STR))

.PHONY: lint
lint: venv.codestyle
./$(VENV_CODESTYLE_BIN)/ruff \
check \
$$(git ls-files $(LS_FILES_INPUT_STR))

venv.tools:
$(MAKE) venv.tools.always-reinstall

# This target will always install the tools at the venv.
# Useful for development cases.
.PHONY: venv.tools.always-reinstall
venv.tools.always-reinstall:
$(PY_BIN) -m venv $(VENV_TOOLS)
./$(VENV_TOOLS_BIN)/pip install -r requirements.txt
./$(VENV_TOOLS_BIN)/python setup.py install
4 changes: 4 additions & 0 deletions scripts/ruff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ignore = [
"E402", # import ordering (komish): import ordering isn't handled by Black so we need to handle this manually.
"E501", # line length (komish): line length is not enforced by Black so we need to handle these manually.
]
Loading
Loading