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

Sync main into v1.9-branch #499

Merged
merged 14 commits into from
Dec 18, 2024
Merged

Sync main into v1.9-branch #499

merged 14 commits into from
Dec 18, 2024

Conversation

jiridanek
Copy link
Member

Moving changes for https://issues.redhat.com/browse/RHOAIENG-7610 into a rhoai nightly, so they can be tested.

Description

Began by trying to run GHA, but got error

remote: error: GH006: Protected branch update failed for refs/heads/v1.9-branch.        
remote: 
remote: - 4 of 4 required status checks are expected.        
To https://github.com/opendatahub-io/kubeflow
 ! [remote rejected]   v1.9-branch -> v1.9-branch (protected branch hook declined)
error: failed to push some refs to 'https://github.com/opendatahub-io/kubeflow'

How Has This Been Tested?

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

atheo89 and others added 14 commits November 28, 2024 18:04
Increase timeouts as they were too short.
This commit replaces the "placeholder" create-release.yaml file to include functionality to actually create a opendatahub-io/kubeflow release following the original manual process.

The GHA can be invoked manually as a workflow from GitHub as well as invoked as part of the kubeflow-release action.

`kubeflow-release.yaml` has been modified to pass in the target branch name for cutting the release.  The release/tag name is **NOT** provided as the `create-release.sh` script will auto-compute what the proper tag name should be.
- Please note that the tag name **can** be provided if necessary in the future... at which point the tag name would be honored as is (i.e. no "auto-incrementing" logic is performed if the tag name provided as input)

`create-release.sh` will also handle auto-updating the release tag for future scenarios where we change the target branch (ex: `v1.9-branch` to `v2.0-branch`).

Please see the (extensive) comments in `.github/scripts/create-release.sh` for deeper explanation on implementation.
- Please note, in what may be a "controversial" decision, I have extracted the script into its own file as opposed to embedding it within the `yaml` of the action.  I find it more pleasant to read/develop when the script is in its own file - and also allows code editors to be smarter in offering hints on the source.

Related-to: https://issues.redhat.com/browse/RHOAIENG-15391
feat(automation): Add GitHub Action to handle creating a new release
…controller (#492)

This commit integrates Codecov into our testing process by publishing our coverage report generated during `make test` to Codecov via the official `codecov/codecov-action` GHA.

The `CODECOV_TOKEN` was previously uploaded to our GH repository as a secret (and copied to the Dependabot Secrets as well) by a repo admin:
- https://redhat-internal.slack.com/archives/C060A5FJEAD/p1733334721701649

Please be aware of functionality **NOT** included in this initial PR (that may be added in the future):
- unit test results are not being shipped to `Codecov` (even though that capability is supported)
- a `.codecov.yml` file is presently not included.  this could come as a fast-follow after the team gets a "feel" for `Codecov` - but I think its a bit premature to take my personal opinions to create such a file.  Example `odh-dashboard` config can be seen here:
    - https://github.com/opendatahub-io/odh-dashboard/blob/main/.codecov.yml

The `Codecov` integration was added to the `odh_notebook_controller_unit_test.yaml` GHA - which is already configured to execute on `pull_request` and `push` triggers.  As such, no additional modification was necessary.

:warning: It should be noted that the `make test` target was modifed to ensure the coverage files for the 2 respective invocations of `go test` wrote to unique output files to prevent information loss.  `*.out` files are already ignored via `.gitignore`, so no problems there.  Also, Codecov claims to support report merging automatically - so this should cause no issues:
- https://docs.codecov.com/docs/merging-reports

Related-to: https://issues.redhat.com/browse/RHOAIENG-11142
Add a drop down menu for choosing Sync or Release action
Adding my own GH handle (`andyatmiami`) to the `approvers` and `reviewers` section of `OWNERS`, honor alphanumeric sorting,
so I can be more self-sufficient in working issues alongside the team.
…roller (#490)

This commit integrates Codecov into our testing process by publishing our coverage report generated during `make test` to Codecov via the official `codecov/codecov-action` GHA.

The `CODECOV_TOKEN` was previously uploaded to our GH repository as a secret (and copied to the Dependabot Secrets as well) by a repo admin:
- https://redhat-internal.slack.com/archives/C060A5FJEAD/p1733334721701649

Please be aware of functionality **NOT** included in this initial PR (that may be added in the future):
- unit test results are not being shipped to `Codecov` (even though that capability is supported)
- a `.codecov.yml` file is presently not included.  this could come as a fast-follow after the team gets a "feel" for `Codecov` - but I think its a bit premature to take my personal opinions to create such a file.  Example `odh-dashboard` config can be seen here:
    - https://github.com/opendatahub-io/odh-dashboard/blob/main/.codecov.yml

The `Codecov` integration was added to the `notebook_controller_unit_test.yaml` GHA - which is already configured to execute on `pull_request` and `push` triggers.  As such, no additional modification was necessary.

:warning: It should be noted that the `make test` target as configured in upstream is presently incorrect.  The 2 different `go test` executions are redundant - and the 2nd invocation (targetting only the `./controller/...` scope, actually overwrites the `cover.out` file initially generated by the 1st invocation.  However, the fix for this should come from upstream.. I will open up a PR against upstream at which point it will flow through to `odh` whenever its merged and we sync.

Related-to: https://issues.redhat.com/browse/RHOAIENG-11142
@openshift-ci openshift-ci bot requested review from caponetto and paulovmr December 18, 2024 12:42
@jiridanek
Copy link
Member Author

/approve

Copy link

openshift-ci bot commented Dec 18, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jiridanek

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jiridanek
Copy link
Member Author

/retest

@atheo89
Copy link
Member

atheo89 commented Dec 18, 2024

But why still get this protection issue.... I can not understand, theoretically we fixed here.... openshift/release#59443

@jiridanek
Copy link
Member Author

/retest

@atheo89
Copy link
Member

atheo89 commented Dec 18, 2024

Jiri, next time when you do the sync use this pipilene please: https://github.com/opendatahub-io/kubeflow/actions/workflows/kubeflow-release.yaml
and select sync

@jiridanek
Copy link
Member Author

There's OCP-CI outage, apparently

level=error msg=Error: Error waiting to create Router: Error waiting for Creating Router: Quota 'ROUTERS' exceeded.  Limit: 20.0 globally.
level=error msg=	metric name = compute.googleapis.com/routers
level=error msg=	limit name = ROUTERS-per-project
level=error msg=	dimensions = map[global:global]

/lgtm

Copy link

openshift-ci bot commented Dec 18, 2024

@jiridanek: you cannot LGTM your own PR.

In response to this:

There's OCP-CI outage, apparently

level=error msg=Error: Error waiting to create Router: Error waiting for Creating Router: Quota 'ROUTERS' exceeded.  Limit: 20.0 globally.
level=error msg=	metric name = compute.googleapis.com/routers
level=error msg=	limit name = ROUTERS-per-project
level=error msg=	dimensions = map[global:global]

/lgtm

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jiridanek
Copy link
Member Author

/override odh-notebook-controller-e2e

Copy link

openshift-ci bot commented Dec 18, 2024

@jiridanek: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • odh-notebook-controller-e2e

Only the following failed contexts/checkruns were expected:

  • branch-ci-opendatahub-io-kubeflow-main-images
  • branch-ci-opendatahub-io-kubeflow-main-kf-notebook-controller-image-mirror
  • branch-ci-opendatahub-io-kubeflow-main-odh-notebook-controller-image-mirror
  • ci/prow/images
  • ci/prow/kf-notebook-controller-pr-image-mirror
  • ci/prow/kf-notebook-controller-unit
  • ci/prow/odh-notebook-controller-e2e
  • ci/prow/odh-notebook-controller-pr-image-mirror
  • ci/prow/odh-notebook-controller-unit
  • pull-ci-opendatahub-io-kubeflow-main-images
  • pull-ci-opendatahub-io-kubeflow-main-kf-notebook-controller-pr-image-mirror
  • pull-ci-opendatahub-io-kubeflow-main-kf-notebook-controller-unit
  • pull-ci-opendatahub-io-kubeflow-main-odh-notebook-controller-e2e
  • pull-ci-opendatahub-io-kubeflow-main-odh-notebook-controller-pr-image-mirror
  • pull-ci-opendatahub-io-kubeflow-main-odh-notebook-controller-unit
  • sync-branches
  • tide

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

In response to this:

/override odh-notebook-controller-e2e

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jiridanek jiridanek added the lgtm label Dec 18, 2024
@jiridanek jiridanek merged commit 521f441 into v1.9-branch Dec 18, 2024
25 of 28 checks passed
Copy link

openshift-ci bot commented Dec 18, 2024

@jiridanek: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/odh-notebook-controller-e2e 0ae60aa link true /test odh-notebook-controller-e2e

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@atheo89
Copy link
Member

atheo89 commented Dec 19, 2024

But why still get this protection issue.... I can not understand, theoretically we fixed here.... openshift/release#59443

The mystery resolved: The issue was that we set the protection to 'false,' but we never unchecked the option 'Require status checks to pass before merging` from github. https://redhat-internal.slack.com/archives/CBN38N3MW/p1734528043715489

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

Successfully merging this pull request may close these issues.

3 participants