Skip to content

feat(dev): Build/test CI improvements #4739

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

Merged
merged 7 commits into from
Mar 29, 2022
Merged

Conversation

lobsterkatie
Copy link
Member

@lobsterkatie lobsterkatie commented Mar 21, 2022

This makes a few changes to our "Build and Test" GHA workflow:

  • For mysterious reasons, occasionally pushing to a PR fails to trigger CI. On the PR it says "queued," but on the Actions page, nothing ever appears. There are also times when you might want to run CI before creating a PR. This introduces the ability to run the "Build and Test" GHA on demand. As long as a branch is pushed, it can be chosen from the dropdown and its HEAD will be run against CI. If for whatever reason the commit you want to test has been pushed but isn't the head of a branch, its SHA can be filled in instead, and it will be used instead of the branch showing in the dropdown.

  • The titles of the browser and tracing playwright tests are currently long enough that they are truncated in the GH UI, which obscures some of the information they contain, namely the ways in which each one differs from the others. This changes the naming scheme to be more space efficient. Also, since it helps the naming and doesn't change the test behavior, the excluded tests have been switched from tracing_only: true to tracing_only: false. (Because the tracing_only value doesn't influence the cjs and esm tests, we exclude one tracing_only value just so as not to run the same tests twice, which means changing which one is excluded doesn't change the actual tests.)

  • The artifacts job has been moved above all of the test-related jobs, so that all non-test-related jobs come before all test-related ones.

  • The original browser integration tests, the ones which existed before we adopted the playwright framework, have been renamed the "Old" tests, so it's easier to distinguish them from the new ones.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 21, 2022

size-limit report

Path Base Size (437d7cd) Current Size Change
@sentry/browser - ES5 CDN Bundle (gzipped + minified) 19.58 KB 19.58 KB +0.01% 🔺
@sentry/browser - ES5 CDN Bundle (minified) 62.46 KB 62.46 KB 0%
@sentry/browser - ES6 CDN Bundle (gzipped + minified) 18.19 KB 18.19 KB -0.02% 🔽
@sentry/browser - ES6 CDN Bundle (minified) 55.96 KB 55.96 KB 0%
@sentry/browser - Webpack (gzipped + minified) 22.72 KB 22.72 KB 0%
@sentry/browser - Webpack (minified) 80.38 KB 80.38 KB 0%
@sentry/react - Webpack (gzipped + minified) 22.76 KB 22.76 KB 0%
@sentry/nextjs Client - Webpack (gzipped + minified) 47.69 KB 47.69 KB 0%
@sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 25.46 KB 25.46 KB 0%
@sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 23.81 KB 23.81 KB -0.01% 🔽

@AbhiPrasad
Copy link
Member

We'll have to change the required tests here cc @vladanpaunovic

@lobsterkatie lobsterkatie force-pushed the kmclb-run-ci-on-demand branch from ecf55f5 to 89ca7d9 Compare March 23, 2022 22:34
Copy link
Member

@Lms24 Lms24 left a comment

Choose a reason for hiding this comment

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

This looks good to me. Great idea to enable a manual dispatch of the workflow! Also, I like the naming simplification of the browser bundle integration tests.

It looks ready to 🚀 to me, once CI actually goes through (which I guess is related to @AbhiPrasad's comment on the required tests).

@lobsterkatie lobsterkatie force-pushed the kmclb-run-ci-on-demand branch from 89ca7d9 to 6c81595 Compare March 24, 2022 19:14
@github-actions
Copy link
Contributor

size-limit report 📦

Path Size
@sentry/browser - ES5 CDN Bundle (gzipped + minified) 19.61 KB (-0.01% 🔽)
@sentry/browser - ES5 CDN Bundle (minified) 62.76 KB (0%)
@sentry/browser - ES6 CDN Bundle (gzipped + minified) 18.22 KB (+0.02% 🔺)
@sentry/browser - ES6 CDN Bundle (minified) 56.25 KB (0%)
@sentry/browser - Webpack (gzipped + minified) 22.74 KB (0%)
@sentry/browser - Webpack (minified) 80.67 KB (0%)
@sentry/react - Webpack (gzipped + minified) 22.77 KB (0%)
@sentry/nextjs Client - Webpack (gzipped + minified) 47.71 KB (0%)
@sentry/browser + @sentry/tracing - ES5 CDN Bundle (gzipped + minified) 25.49 KB (+0.01% 🔺)
@sentry/browser + @sentry/tracing - ES6 CDN Bundle (gzipped + minified) 23.83 KB (+0.01% 🔺)

@vladanpaunovic
Copy link
Contributor

@lobsterkatie, which tests should be required / not required now?

@lobsterkatie
Copy link
Member Author

@lobsterkatie, which tests should be required / not required now?

The ones here whose names have been changed shouldn't be required anymore because they no longer exist under those names:

image

For now, I suggest we not add their replacements (and other tests which have been added in the meantime) to the required list, because instead I'd like to use this action to aggregate the results:

https://github.com/lwhiteley/dependent-jobs-result-check

We can set it up so that action only passes if all of the different test jobs pass, and then we can require THAT check, which will cover all 22 jobs that otherwise now need to be individually added to the required list in the GH UI (you can see them in the screenshot below, just for reference), along with the 6 that already are there, and whatever future ones we add. (As our test coverage improves, this is only going to get worse.)

image

@vladanpaunovic
Copy link
Contributor

vladanpaunovic commented Mar 29, 2022

I made these tests required except:

  • Playwright - *
  • Old Browser Integration Tests *

Due to renaming, I can make them required only after this PR is merged.

@lobsterkatie lobsterkatie force-pushed the kmclb-run-ci-on-demand branch from 6c81595 to 142578d Compare March 29, 2022 16:29
@lobsterkatie lobsterkatie merged commit b2836b8 into master Mar 29, 2022
@lobsterkatie lobsterkatie deleted the kmclb-run-ci-on-demand branch March 29, 2022 17:48
@AbhiPrasad AbhiPrasad added this to the Pre 7.0.0 Work milestone Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants