test-infra icon indicating copy to clipboard operation
test-infra copied to clipboard

Migration of etcd-io/etcd GitHub Actions to Prow

Open ArkaSaha30 opened this issue 1 year ago • 14 comments

What should be cleaned up or changed: As a part of the migration, following GitHub Actions running as presubmits/postsubmits/periodics may need to be migrated to Prow:

main :

release-3.5 :

release-3.4 :

Provide any links for context: Parent Issue ref: https://github.com/kubernetes/k8s.io/issues/6102

ArkaSaha30 avatar Jun 14 '24 06:06 ArkaSaha30

This is an initial list of GitHub workflows I have identified for the migration, please review the list if anything needs to be added/removed.

/sig etcd

ArkaSaha30 avatar Jun 14 '24 06:06 ArkaSaha30

/assign

cc @jmhbnz @ahrtr @serathius

ArkaSaha30 avatar Jun 14 '24 06:06 ArkaSaha30

Also link to https://github.com/kubernetes/k8s.io/issues/6102

ahrtr avatar Jun 14 '24 18:06 ahrtr

I wasn't aware of this task. Watching now.

ivanvc avatar Jun 21 '24 15:06 ivanvc

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Dec 03 '24 14:12 k8s-triage-robot

/remove-lifecycle stale

ivanvc avatar Dec 03 '24 18:12 ivanvc

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Mar 03 '25 19:03 k8s-triage-robot

/remove-lifecycle stale

@ArkaSaha30, the completion track is not up to date. But I don't have permission to edit your description. Should I create a new ticket to track the completion? So I can update it? Let me know.

ivanvc avatar Mar 06 '25 07:03 ivanvc

Refer to https://github.com/kubernetes/test-infra/issues/32754#issuecomment-2942746295

ivanvc avatar May 21 '25 21:05 ivanvc

As discussed at today's community meeting. We have all build GitHub workflows in release 3.4 and 3.5. In 3.6 and main, we have a build-all target. However, there is duplication with the release tests, as these are built for all supported architectures and operating systems.

ivanvc avatar May 29 '25 21:05 ivanvc

We'll be removing release-3.5's test-smoke job. The Makefile target is the following:

test-smoke:
	$(info log-file: test-$(TEST_SUFFIX).log)
	PASSES="fmt bom dep build unit" ./test.sh 2<&1 | tee test-$(TEST_SUFFIX).log
	! grep "FAIL:" test-$(TEST_SUFFIX).log

All the passes it runs are duplicated:

  1. fmt: It's replaced by verify
  2. bom: It's part of verify
  3. dep: It's part of verify
  4. build: Covered already by build and by release tests
  5. unit: We already have a unit test job

ivanvc avatar May 29 '25 22:05 ivanvc

Refer to https://github.com/kubernetes/test-infra/issues/32754#issuecomment-3014660991

ivanvc avatar Jun 05 '25 04:06 ivanvc

X-posting https://github.com/etcd-io/etcd/pull/20116#issuecomment-2950067337, as we're having issues running 3.4 e2e tests on the Prow infra.

@joshjms, I can think of two solutions:

  1. We run the tests on the Prow infra using a different image, which will require a different job configuration for release-3.4 e2e jobs
  2. We keep this job as a GitHub action/workflow

Given the timeline to give support to this version, I lean towards option 2.

That would mean:

  1. Keep the tests.yaml file, simplify it, so it only runs e2e tests
  2. Revert https://github.com/kubernetes/test-infra/pull/34916

@jmhbnz, thoughts?

Edit: We're backporting the e2e tests change to release-3.4.

ivanvc avatar Jun 06 '25 18:06 ivanvc

And now, with the activity, my comment keeps getting hidden. So, copying https://github.com/kubernetes/test-infra/issues/32754#issuecomment-2942746295 to the bottom to keep it visible.


Because I don't have access to update the issue. I'll start my own completion matrix below:

main:

release-3.5:

  • [x] e2e.yaml
    • [x] #35053
    • [x] https://github.com/etcd-io/etcd/pull/20315
  • [x] ~functional.yaml~: Just remove the workflow (refer to https://github.com/etcd-io/etcd/pull/20021#issuecomment-2918549192) - https://github.com/etcd-io/etcd/pull/20315
  • [x] govuln.yaml
    • [x] #35050
    • [x] etcd-io/etcd#20172
    • [x] https://github.com/etcd-io/etcd/pull/20315
  • [x] grpcproxy.yaml
    • [x] etcd-io/etcd#20197
    • [x] #35044
    • [x] etcd-io/etcd#20236
  • [x] release.yaml
    • [x] etcd-io/etcd#20168
    • [x] etcd-io/etcd#20293
    • [x] #35098
    • [x] https://github.com/etcd-io/etcd/pull/20315
  • [x] static-analysis.yaml
    • [x] https://github.com/kubernetes/test-infra/pull/34782
    • [x] Implement missing verify targets: etcd-io/etcd#20046
    • [x] etcd-io/etcd#20099
  • [x] tests.yaml
    • [x] https://github.com/etcd-io/etcd/pull/20315
    • [x] etcd-io/etcd#20198 is blocking integration tests and the rest of the progress.
    • [x] ~amd64 smoke~: Delete this job (and the arm64 one). Refer to https://github.com/kubernetes/test-infra/issues/32754#issuecomment-2920762844
    • [x] amd64 integration, 1 2, and 4 CPUs
      • [x] #34983
      • [x] #34989
    • [x] arm64/amd64/i386 unit
      • [x] #35000
      • [x] #35011
    • [x] ~all-build (cross-compiling): Probably not needed, as covered by release tests.~

release-3.4:

  • [x] govuln.yaml
    • [x] etcd-io/etcd#19810
    • [x] #34737
    • [x] etcd-io/etcd#19881
  • [x] release.yaml
    • [x] etcd-io/etcd#19815
    • [x] #34740
    • [x] etcd-io/etcd#19877
  • [x] static-analysis.yaml
    • [x] etcd-io/etcd#19911
    • [x] https://github.com/etcd-io/etcd/pull/20011
  • [x] tests.yaml
    • [x] etcd-io/etcd#20116
    • [x] amd64 integration, 1 2, and 4 CPUs
      • [x] 4 CPUs: #34843
      • [x] 2, 1 CPUs: #34877
    • [x] ~amd64 functional~: Just remove the workflow (refer to https://github.com/etcd-io/etcd/pull/20021#issuecomment-2918549192)
      • [x] etcd-io/etcd#20021
      • [x] ~#34849~
    • [x] amd64 unit 4 CPUs, 386 unit 1 CPU - #34883
    • [x] amd64 grcpproxy
      • [x] etcd-io/etcd#20063
      • [x] #34891
    • [x] amd64 e2e
      • [x] etcd-io/etcd#20136
      • [x] #34916
      • [x] #34955
    • [x] ~all-build (cross-compiling): Probably not needed, as covered by release tests.~

ivanvc avatar Jun 27 '25 23:06 ivanvc

With all tasks completed, we have successfully migrated the Prow repository to etcd. Thanks for all your work, @joshjms and @abdurrehman107 :)

/close

ivanvc avatar Jul 18 '25 18:07 ivanvc

@ivanvc: Closing this issue.

In response to this:

With all tasks completed, we have successfully migrated the Prow repository to etcd. Thanks for all your work, @joshjms and @abdurrehman107 :)

/close

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.

k8s-ci-robot avatar Jul 18 '25 18:07 k8s-ci-robot