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

ci: Unify workflows into singular pipeline #4520

Merged
merged 14 commits into from
Oct 7, 2024
Merged

ci: Unify workflows into singular pipeline #4520

merged 14 commits into from
Oct 7, 2024

Conversation

rschristian
Copy link
Member

@rschristian rschristian commented Oct 1, 2024

Currently, we run 3 separate pipelines for each PR (assuming the PR touches source JS, we do have a bit of filtering in play):

  • CI - builds, lints & tests, packages Preact
  • Benchmarks - CI workflow, sets up source & current Preact tarballs, runs benches
  • Compressed Size

As such, we're running the CI workflow twice (once directly, once called from Benchmarks) which, while not necessarily problematic as it's done in parallel, can be a bit noisy in the case of build/test failures (each will notify of failure separately) and is duplicated work at the very least. 3 separate pipelines is also a bit messy if you need to jump into the 'Actions' tab to check/compare different runs -- far from a major problem, but less than ideal IMO.


The idea here is to unify the aforementioned workflows into a singular pipeline; we'll get an overview of all jobs at once, make the control flow a bit more obvious & easier to edit, and skip some duplicated work. ci.yml will therefore be the orchestrator, triggering the runs of build-test.yml, benchmarks.yml, & size.yml, they'll no longer be entrypoints/pipelines themselves.

Workflow overview diagram

Workflow run in pic

@coveralls
Copy link

coveralls commented Oct 1, 2024

Coverage Status

coverage: 99.488%. remained the same
when pulling 9c565bb on ci/refactor
into ad3bc3b on main.

Copy link

github-actions bot commented Oct 1, 2024

Size Change: 0 B

Total Size: 62 kB

ℹ️ View Unchanged
Filename Size
compat/dist/compat.js 4.11 kB
compat/dist/compat.module.js 4.04 kB
compat/dist/compat.umd.js 4.18 kB
debug/dist/debug.js 3.82 kB
debug/dist/debug.module.js 3.83 kB
debug/dist/debug.umd.js 3.9 kB
devtools/dist/devtools.js 260 B
devtools/dist/devtools.module.js 274 B
devtools/dist/devtools.umd.js 346 B
dist/preact.js 4.66 kB
dist/preact.min.js 4.69 kB
dist/preact.min.module.js 4.68 kB
dist/preact.min.umd.js 4.71 kB
dist/preact.module.js 4.67 kB
dist/preact.umd.js 4.73 kB
hooks/dist/hooks.js 1.53 kB
hooks/dist/hooks.module.js 1.56 kB
hooks/dist/hooks.umd.js 1.6 kB
jsx-runtime/dist/jsxRuntime.js 981 B
jsx-runtime/dist/jsxRuntime.module.js 956 B
jsx-runtime/dist/jsxRuntime.umd.js 1.06 kB
test-utils/dist/testUtils.js 451 B
test-utils/dist/testUtils.module.js 456 B
test-utils/dist/testUtils.umd.js 536 B

compressed-size-action

@rschristian rschristian changed the title ci: Remove duplicate build & test job in CI ci: Unify workflows into singular pipeline Oct 2, 2024
@rschristian rschristian marked this pull request as ready for review October 3, 2024 02:23
@rschristian
Copy link
Member Author

The required status checks in the repo will need to be altered if this is to land; Build & Test is no longer ran directly, so the status will never be reported.

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