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

Migrate CI to Github actions #4436

Closed
30 tasks done
castelblanque opened this issue Mar 15, 2022 · 32 comments · Fixed by #5760
Closed
30 tasks done

Migrate CI to Github actions #4436

castelblanque opened this issue Mar 15, 2022 · 32 comments · Fixed by #5760
Assignees
Labels
component/ci Issue related to kubeapps ci system github_actions Pull requests that update GitHub Actions code kind/enhancement An issue that reports an enhancement for an implemented feature

Comments

@castelblanque
Copy link
Collaborator

castelblanque commented Mar 15, 2022

Description:

Move CI to Github actions

  • Benefit: Be aligned with most of the Tanzu projects using it

Related to #4096

Progress

  • test_go
  • test_dashboard
  • test_pinniped_proxy
  • test_chart_render
  • build_go_images
  • build_dashboard
  • build_pinniped_proxy
  • build_e2e_runner
  • local_e2e_tests
  • sync_chart_from_bitnami
  • GKE_REGULAR_VERSION_MAIN
  • GKE_REGULAR_VERSION_LATEST_RELEASE
  • GKE_STABLE_VERSION_MAIN
  • GKE_STABLE_VERSION_LATEST_RELEASE
  • push_images
  • report_srp
  • sync_chart_to_bitnami
  • release
  • Fix flaky local_e2e_tests(operators)
  • Add GHA's badges to the README.md file
  • Add new workflow to run Full Integration Pipeline on schedule
  • Switch off the CircleCI pipeline.
    • Remove/deactivate the current CircleCI workflow
    • Remove CircleCI badge from README.md
    • Turn off DEV_MODE for GHA's kubeapps-main.yml workflow.
    • Adjust branch-protection configuration to require the GHA's status checks to pass before merging to main, and remove the requirements from the CircleCI status checks.
    • Adjust the configuration of the project in the CircleCI App to stop building the project (also, should we remove the project from CircleCI??).
  • Update CI documentation
  • Fix failing workflows triggered by dependabot's PRs.
  • Unify workflows as much as possible
@castelblanque castelblanque added priority/low component/ci Issue related to kubeapps ci system kind/enhancement An issue that reports an enhancement for an implemented feature labels Mar 15, 2022
@castelblanque castelblanque added this to the Improve CI environment milestone Mar 15, 2022
@castelblanque castelblanque moved this to 🗂. Backlog in Kubeapps Mar 15, 2022
@ppbaena ppbaena added this to Kubeapps Mar 31, 2022
@ppbaena ppbaena moved this to 🗂 Backlog in Kubeapps Mar 31, 2022
@antgamdia antgamdia added the next-iteration Issues to be discussed in planning session label Aug 8, 2022
@antgamdia
Copy link
Contributor

In the meantime, we could start splitting some logic into some container images, as Rafa suggested (see #5177 (review))

@ppbaena ppbaena moved this from 🗂 Backlog to 🗒 Todo in Kubeapps Aug 29, 2022
@beni0888 beni0888 moved this from 🗒 Todo to 🏗 In Progress in Kubeapps Sep 1, 2022
@beni0888
Copy link
Collaborator

beni0888 commented Oct 5, 2022

The first iteration of the migration has been completed with the merge of the first version of the new workflow, which includes those jobs that are run for every single push of a branch: test, build images, push images, run e2e tests, and sync from/to Bitnami chart (all but those that belong to the pre-release and release flows, and report_srp).

@ppbaena
Copy link
Collaborator

ppbaena commented Oct 5, 2022

Great work @beni0888 !!!

@castelblanque
Copy link
Collaborator Author

Awesome @beni0888!
Are we storing artifacts from E2E in case they fail? (e.g. screenshots, videos, logs, etc.)

@antgamdia
Copy link
Contributor

I think so, under the "artifacts" section in the github action:
However, they are stored in a zip, so we have to download and uncompress it to view the files. An extra step, unfortunately, but not a big deal.

image

@beni0888
Copy link
Collaborator

To be able to report the SRP source provenance from GHA, we need to generate and ask for the registration of a new SRP UID. I have filed this ticket in Jira Service Desk for that.

@beni0888
Copy link
Collaborator

According to the activity in the Jira Ticket, our request has been fulfilled and the new SRP UID has been registered, so we should be able to report the source provenance from GHA.

absoludity pushed a commit that referenced this issue Nov 17, 2022
Signed-off-by: Jesús Benito Calzada <[email protected]>

<!--
Before you open the request please review the following guidelines and
tips to help it be more easily integrated:

 - Describe the scope of your change - i.e. what the change does.
 - Describe any known limitations with your change.
- Please run any tests or examples that can exercise your modified code.

 Thank you for contributing!
 -->

### Description of the change

This PR fixes a typo in the call to `srp provenance source` command in
the GHA's `srp-source-provenance` action.

### Benefits

A typo in the call to a command is removed, so it should work as
expected now.

### Possible drawbacks

None.
<!-- Describe any known limitations with your change -->

### Applicable issues

<!-- Enter any applicable Issues here (You can reference an issue using
#) -->

- related to #4436

Signed-off-by: Jesús Benito Calzada <[email protected]>
@beni0888
Copy link
Collaborator

I have confirmed with the SRP team that we are already properly reporting the source provenance from the GHA pipeline 🎉

@absoludity
Copy link
Contributor

Nice - looks like you've completed everything other than the easy parts of just switching circle CI off and docs! Well done @beni0888

@beni0888
Copy link
Collaborator

I've been working on fixing some minor issues that were preventing the release workflow from working properly. Fortunately, it seems that it finally does 🎉 Although it's still running in DEV_MODE and not actually creating the release, so we cannot be 100% sure until we trigger a real release from the GHA pipeline.

@ppbaena ppbaena moved this from 🏗 In Progress to 🔎 In Review in Kubeapps Nov 29, 2022
@beni0888
Copy link
Collaborator

The PRs with the decommission of CircleCI and the documentation update have been merged. Besides that, I have a couple of ideas to simplify the workflow, better said, to simplify the branch protection rules:

  • Add a unit_tests_result job that aggregates the result of all the unit-test jobs, so we can relay in just one status check instead of N
  • The same for the image-building jobs

But I think that could be tackle in separate issues, so we can finally close this one

Repository owner moved this from 🗂. Backlog to ✅. Done in Kubeapps Nov 30, 2022
Repository owner moved this from 🔎 In Review to ✅ Done in Kubeapps Nov 30, 2022
@beni0888
Copy link
Collaborator

I've configured the Kubeapps project in CircleCI to stop building this repo. Should we also completely remove the Kubeapps project from CircleCI?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/ci Issue related to kubeapps ci system github_actions Pull requests that update GitHub Actions code kind/enhancement An issue that reports an enhancement for an implemented feature
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants