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

🌱 E2E: Run as github workflow #1728

Merged
merged 1 commit into from
Jun 4, 2024

Conversation

lentzi90
Copy link
Member

@lentzi90 lentzi90 commented May 14, 2024

What this PR does / why we need it:

Run the E2E tests as github workflows. This adds one reusable workflow (test-e2e.yml) that can be called by other workflows, in this PR test-e2e-pull.yml and test-e2e-periodic.yml. This way we avoid duplication and can have different configuration for pull requests and periodics.

  • test-e2e-periodic.yml runs the e2e suite for redfish, redfish-virtualmedia and ipmi
  • test-e2e-pull.yml runs the e2e suite for redfish-virtualmedia and ipmi

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

@metal3-io-bot metal3-io-bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label May 14, 2024
@tuminoid
Copy link
Member

/hold
This is a test using CNCF shared resources.

@metal3-io-bot metal3-io-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 14, 2024
@lentzi90 lentzi90 force-pushed the lentzi90/e2e-gh-workflow branch 6 times, most recently from ef88e34 to 147ad5b Compare May 15, 2024 11:05
@lentzi90
Copy link
Member Author

/test ?

@metal3-io-bot
Copy link
Contributor

@lentzi90: The following commands are available to trigger required jobs:

  • /test generate
  • /test gomod
  • /test manifestlint
  • /test markdownlint
  • /test metal3-bmo-e2e-test-pull
  • /test shellcheck
  • /test test
  • /test unit

The following commands are available to trigger optional jobs:

  • /test metal3-bmo-e2e-test-optional-pull
  • /test metal3-centos-e2e-basic-test-main
  • /test metal3-centos-e2e-feature-test-main
  • /test metal3-centos-e2e-integration-test-main
  • /test metal3-dev-env-integration-test-centos-main
  • /test metal3-dev-env-integration-test-ubuntu-main
  • /test metal3-e2e-1-26-1-27-upgrade-test-main
  • /test metal3-e2e-1-27-1-28-upgrade-test-main
  • /test metal3-e2e-1-28-1-29-upgrade-test-main
  • /test metal3-e2e-clusterctl-upgrade-test-main
  • /test metal3-ubuntu-e2e-basic-test-main
  • /test metal3-ubuntu-e2e-feature-test-main
  • /test metal3-ubuntu-e2e-integration-test-main

Use /test all to run the following jobs that were automatically triggered:

  • generate
  • gomod
  • manifestlint
  • shellcheck
  • test
  • unit

In response to this:

/test ?

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/test-infra repository.

@mquhuy
Copy link
Member

mquhuy commented May 30, 2024

Unless there's constraints resource-wise, this is a very good improvement imo. Anyway, I'm wondering if there's a way to override this test? I know it runs automatically, but I'm talking about situations when it failed for some other reason, which we know we could ignore.

Otherwise, /lgtm

@kashifest
Copy link
Member

/hold This is a test using CNCF shared resources.

CNCF service desk has replied:

Hi Kashif Nizam Khan, correct, since you’re in GHE you don’t have to worry about those billable hours. We just need to be good custodians as a community about how much we consume.

I feel we can proceed with switching BMO e2e on github large runners since these are free resource for us. So this PR is ready to go in IMO.

/hold cancel

@metal3-io-bot metal3-io-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 3, 2024
@metal3-io-bot metal3-io-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jun 3, 2024
@kashifest
Copy link
Member

I think we need to ensure the golang version here is correct as well, check how I fixed it here e76ad63

@lentzi90 lentzi90 force-pushed the lentzi90/e2e-gh-workflow branch 3 times, most recently from c73fd08 to bfbb59a Compare June 3, 2024 10:42
Run the E2E tests as github workflows.

Signed-off-by: Lennart Jern <lennart.jern@est.tech>
@lentzi90
Copy link
Member Author

lentzi90 commented Jun 3, 2024

Alright it seems to be working now.
I first tried the same as for the fixture tests (using an action to setup go). Unfortunately, our ensure-go.sh script did not seem to pick that up properly. I think the issue is that it gets confused by multiple installed versions (one from the action and one pre-installed on the runner).
So instead I ended up deleting the pre-installed go binary and switch the PATH so that this is preferred above everything else.

@kashifest
Copy link
Member

/approve

@metal3-io-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kashifest

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

@metal3-io-bot metal3-io-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 4, 2024
@lentzi90
Copy link
Member Author

lentzi90 commented Jun 4, 2024

/test metal3-bmo-e2e-test-pull
/cc @mquhuy

@metal3-io-bot metal3-io-bot requested a review from mquhuy June 4, 2024 07:18
@mquhuy
Copy link
Member

mquhuy commented Jun 4, 2024

/lgtm

@metal3-io-bot metal3-io-bot added the lgtm Indicates that a PR is ready to be merged. label Jun 4, 2024
@metal3-io-bot metal3-io-bot merged commit bdfc67c into metal3-io:main Jun 4, 2024
26 checks passed
@metal3-io-bot metal3-io-bot deleted the lentzi90/e2e-gh-workflow branch June 4, 2024 10:13
@lentzi90
Copy link
Member Author

lentzi90 commented Jun 5, 2024

/cherry-pick release-0.6
/cherry-pick release-0.5

@metal3-io-bot
Copy link
Contributor

@lentzi90: new pull request created: #1769

In response to this:

/cherry-pick release-0.6
/cherry-pick release-0.5

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/test-infra repository.

@lentzi90
Copy link
Member Author

lentzi90 commented Jun 5, 2024

/cherry-pick release-0.5

@metal3-io-bot
Copy link
Contributor

@lentzi90: #1728 failed to apply on top of branch "release-0.5":

Applying: E2E: Run as github workflow
Using index info to reconstruct a base tree...
M	hack/ci-e2e.sh
M	hack/e2e/ensure_go.sh
Falling back to patching base and 3-way merge...
Auto-merging hack/e2e/ensure_go.sh
Auto-merging hack/ci-e2e.sh
CONFLICT (content): Merge conflict in hack/ci-e2e.sh
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 E2E: Run as github workflow
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-0.5

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/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants