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

feat: Add Buddy to supported Cloud CI Providers #26848

Closed
wants to merge 8 commits into from

Conversation

trojano31
Copy link

@trojano31 trojano31 commented May 24, 2023

Additional details

Adding Buddy CI/CD to ci provider to let user use its build variables.

Steps to test

How has the user experience changed?

PR Tasks

@CLAassistant
Copy link

CLAassistant commented May 24, 2023

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

✅ trojano31
✅ AtofStryker
❌ Ben M


Ben M seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@cypress-app-bot
Copy link
Collaborator

@trojano31 trojano31 changed the title Add Buddy to ci providers feat: Add Buddy to ci providers May 24, 2023
@trojano31 trojano31 force-pushed the detect-buddy-ci-cd branch from 8a51392 to 109455a Compare May 24, 2023 09:17
@trojano31 trojano31 marked this pull request as draft May 24, 2023 09:34
@trojano31 trojano31 marked this pull request as ready for review May 24, 2023 09:42
@cypress
Copy link

cypress bot commented May 24, 2023

1 failed and 27 flaky tests on run #46739 ↗︎

1 27302 1308 0 Flakiness 27

Details:

fix newline in CHANGELOG.md
Project: cypress Commit: ea125b67a5
Status: Failed Duration: 21:59 💡
Started: May 24, 2023 9:52 AM Ended: May 24, 2023 10:14 AM
Failed  cypress/e2e/scaffold-project.cy.ts • 1 failed test • launchpad-e2e

View Output Video

Test Artifacts
scaffolding new projects > generates valid config file for pristine project without cypress installed Output Screenshots Video
Flakiness  project-setup.cy.ts • 1 flaky test • launchpad-e2e

View Output Video

Test Artifacts
... > skips the setup steps when choosing component tests to run Output Screenshots Video
Flakiness  runs.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
App: Runs > Runs - Create Project > when a project is created, injects new projectId into the config file, and sends expected UTM params Output Screenshots Video
Flakiness  specs_list_latest_runs.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
App/Cloud Integration - Latest runs and Average duration > when no runs are recorded > shows placeholders for all visible specs Output Screenshots Video
Flakiness  cypress-origin-communicator.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
Cypress In Cypress Origin Communicator > cy.origin passivity with app interactions > passes upon test reload mid test execution Output Screenshots Video
Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-firefox

View Output Video

Test Artifacts
network stubbing > intercepting request > can delay and throttle a StaticResponse Output

The first 5 flaky specs are shown, see all 16 specs in Cypress Cloud.

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

@MikeMcC399
Copy link
Contributor

@trojano31

Buddy.works is listed on https://github.com/cypress-io/cypress-example-kitchensink#ci-workflow-examples as a documentation-only example.

It is however not on the list on https://docs.cypress.io/guides/continuous-integration/ci-provider-examples

I haven't seen it mentioned in the Cypress Discord chats so far.

@nagash77 nagash77 added type: feature New feature that does not currently exist E2E Issue related to end-to-end testing labels May 24, 2023
@trojano31
Copy link
Author

Hello Mike,
Thanks for the comment. I work in Buddy as a developer. This feature has been requested by our clients for a long time as they are unable to use the build variables in their CI/Cd process. I understand we need to be added to /ci-provider-examples as well – should I handle this in this PR, or should I open another one specifically for the listing?

@MikeMcC399
Copy link
Contributor

Hi @trojano31

Thanks for outlining your role at Buddy and explaining the need! Any decisions about implementing the feature request which you submitted in this PR would need to come from the Cypress.io engineering team.

Regarding your related question about the listing on https://docs.cypress.io/guides/continuous-integration/ci-provider-examples: the documentation is sourced from the repository https://github.com/cypress-io/cypress-documentation, so if you want to suggest a documentation update it would need to be placed there, either as an issue or as a PR. Again, any decisions about content would be made by the Cypress.io team.

Copy link
Member

@emilyrohrbough emilyrohrbough left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!! Thank you for the contribution!

Would you mind adding the Buddy CI example to our docs in cypress-io/cypress-documentation, as Mike indicated?

@emilyrohrbough emilyrohrbough changed the title feat: Add Buddy to ci providers feat: Add Buddy to supported Cloud CI Providers Jun 1, 2023
cli/CHANGELOG.md Outdated Show resolved Hide resolved
cli/CHANGELOG.md Outdated Show resolved Hide resolved
Copy link
Contributor

@AtofStryker AtofStryker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR looks good! I am working on getting contributor PRs running properly in CI in #26897. Once I have that working and merged in, we can pull into this branch and run the CI build

@AtofStryker AtofStryker self-requested a review June 1, 2023 16:54
@MikeMcC399
Copy link
Contributor

@trojano31

Congratulations on your suggestion being picked up! 🚀

Would you mind checking https://github.com/cypress-io/cypress-example-kitchensink/blob/master/buddy.yml to see if this workflow is correct and would work? It is documentation-only at this time, so there is no live check being done that it works.

@@ -197,6 +198,16 @@ const _providerCiParams = () => {
'BUILDKITE_PULL_REQUEST_BASE_BRANCH',
'BUILDKITE_RETRY_COUNT',
]),
// All available vars
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@trojano31 @estrada9166 on our Cloud team pointed this out:

we need to still send the customCiBuildId in case record jobs that run it in parallel or with groups

This change would be made here: https://github.com/cypress-io/cypress-services/blob/develop/packages/util/src/ciProvider.ts#L25-L45

Looking at the Buddy envs, it looks like BUDDY_PIPELINE_ID and BUDDY_EXECUTION_ID would satisfy this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@emilyrohrbough I assume the change has to be done by the Cloud team as I don't have permissions to view this repository? However, I've added BUDDY_PIPELINE_ID to the list of extracted variables

@trojano31
Copy link
Author

@emilyrohrbough sure thing, I'll add Buddy example to your docs!

@MikeMcC399 this workflow uses our old YAML syntax for pipelines but we still support it and it totally works - I've checked it. I'll update it, however, to the current one :)

@MikeMcC399
Copy link
Contributor

@trojano31

this workflow uses our old YAML syntax for pipelines but we still support it and it totally works - I've checked it. I'll update it, however, to the current one :)

I couldn't see any change or PR for this. Are you still planning to do an update to the following file?

https://github.com/cypress-io/cypress-example-kitchensink/blob/master/buddy.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E2E Issue related to end-to-end testing type: feature New feature that does not currently exist
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants