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

Cut down on duplicated CI runs #5564

Merged
merged 4 commits into from
Mar 27, 2024

Conversation

jonchurch
Copy link
Member

@jonchurch jonchurch commented Mar 26, 2024

The Issue

The combination of running on all PR and all Push rn means that if a maintainer creates a branch just for a PR, but pushes the branch to origin instead of their upstream fork, we will run CI twice.

An example of the duplicated runs can be seen on this PR:

#5562

It ran 48 status checks, which is all 24 in the CI job x2. One for the push event and one for the PR event:

Screenshot 2024-03-25 at 10 20 23 PM

This is wasteful of CI time, but also likely not intended behavior.

The Change

Note: none of these changes would impact the Windows tests configured through appveyor, the status of which we can tackle elsewhere

Only run CI for push events on select branches

We'll still run on all PRs, this limits only our runs triggered by pushes to branches on origin.

For selected branches I added:

  • master
  • develop
  • 4.x
  • 5.x

We could try a glob for versions instead, but this should be fine until we need that.

Skip CI if the change is only to .md files

We don't lint md currently, so if a PR only changes md, no need to run any of our ci jobs

Manage concurrency

Leverages github actions concurrency group feature to stop any workflows for a given PR or HEAD if a newer trigger is run for that same PR or HEAD. Essentially dedupes, ensuring only the newest changes are fully run.

Copy link
Member

@wesleytodd wesleytodd left a comment

Choose a reason for hiding this comment

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

Good change. I had made this in the router repo (not quite as robust as this). It would be really nice if we could consolidate all this. Especially with the scorecard actions being added all over the place this is a lot of stuff to keep in sync.

@jonchurch
Copy link
Member Author

Yep, Im happy to see us move fast and take a "consolidate" spike once we have an idea of what works

Copy link
Member

@UlisesGascon UlisesGascon left a comment

Choose a reason for hiding this comment

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

LGTM!

@wesleytodd wesleytodd merged commit 6da57c7 into expressjs:master Mar 27, 2024
24 checks passed
@jonchurch
Copy link
Member Author

Happy to report this is working well. I haven't tested the concurrency bit, but thanks @Fdawgs for the inspo in fastify/fastify@07f847e ❤️

hkfb pushed a commit to equinor/webviz-subsurface-components that referenced this pull request Sep 11, 2024
## [0.8.1](https://github.com/equinor/webviz-subsurface-components/compare/wsc-common@0.8.0...wsc-common@0.8.1) (2024-09-11)

### Bug Fixes

* bump body-parser and express in /typescript ([#2238](#2238)) ([0eca39e](0eca39e)), closes [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#523](expressjs/body-parser#523) [expressjs/body-parser#527](expressjs/body-parser#527) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [expressjs/body-parser#535](expressjs/body-parser#535) [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [#534](#534) [#531](#531) [#521](#521) [#523](#523) [#522](#522) [expressjs/express#5561](expressjs/express#5561) [expressjs/express#5562](expressjs/express#5562) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5564](expressjs/express#5564) [expressjs/express#5526](expressjs/express#5526) [expressjs/express#5579](expressjs/express#5579) [expressjs/express#5587](expressjs/express#5587) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5600](expressjs/express#5600) [expressjs/express#5433](expressjs/express#5433) [expressjs/express#5605](expressjs/express#5605) [expressjs/express#5569](expressjs/express#5569) [expressjs/express#5628](expressjs/express#5628) [expressjs/express#5639](expressjs/express#5639) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5619](expressjs/express#5619) [expressjs/express#5653](expressjs/express#5653) [expressjs/express#5666](expressjs/express#5666) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5672](expressjs/express#5672) [expressjs/express#5695](expressjs/express#5695) [expressjs/express#5683](expressjs/express#5683) [expressjs/express#5722](expressjs/express#5722) [expressjs/express#5762](expressjs/express#5762) [expressjs/express#5599](expressjs/express#5599) [expressjs/express#5436](expressjs/express#5436) [expressjs/express#5814](expressjs/express#5814) [expressjs/express#5836](expressjs/express#5836) [expressjs/express#5603](expressjs/express#5603) [expressjs/express#5835](expressjs/express#5835) [expressjs/express#5781](expressjs/express#5781) [expressjs/express#5902](expressjs/express#5902) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5814](expressjs/express#5814) [#5928](https://github.com/equinor/webviz-subsurface-components/issues/5928) [#5926](https://github.com/equinor/webviz-subsurface-components/issues/5926) [#5902](https://github.com/equinor/webviz-subsurface-components/issues/5902) [#5781](https://github.com/equinor/webviz-subsurface-components/issues/5781) [#5603](https://github.com/equinor/webviz-subsurface-components/issues/5603) [#5836](https://github.com/equinor/webviz-subsurface-components/issues/5836)
hkfb pushed a commit to equinor/webviz-subsurface-components that referenced this pull request Sep 11, 2024
## [1.4.1](https://github.com/equinor/webviz-subsurface-components/compare/well-completions-plot@1.4.0...well-completions-plot@1.4.1) (2024-09-11)

### Bug Fixes

* bump body-parser and express in /typescript ([#2238](#2238)) ([0eca39e](0eca39e)), closes [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#523](expressjs/body-parser#523) [expressjs/body-parser#527](expressjs/body-parser#527) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [expressjs/body-parser#535](expressjs/body-parser#535) [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [#534](#534) [#531](#531) [#521](#521) [#523](#523) [#522](#522) [expressjs/express#5561](expressjs/express#5561) [expressjs/express#5562](expressjs/express#5562) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5564](expressjs/express#5564) [expressjs/express#5526](expressjs/express#5526) [expressjs/express#5579](expressjs/express#5579) [expressjs/express#5587](expressjs/express#5587) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5600](expressjs/express#5600) [expressjs/express#5433](expressjs/express#5433) [expressjs/express#5605](expressjs/express#5605) [expressjs/express#5569](expressjs/express#5569) [expressjs/express#5628](expressjs/express#5628) [expressjs/express#5639](expressjs/express#5639) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5619](expressjs/express#5619) [expressjs/express#5653](expressjs/express#5653) [expressjs/express#5666](expressjs/express#5666) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5672](expressjs/express#5672) [expressjs/express#5695](expressjs/express#5695) [expressjs/express#5683](expressjs/express#5683) [expressjs/express#5722](expressjs/express#5722) [expressjs/express#5762](expressjs/express#5762) [expressjs/express#5599](expressjs/express#5599) [expressjs/express#5436](expressjs/express#5436) [expressjs/express#5814](expressjs/express#5814) [expressjs/express#5836](expressjs/express#5836) [expressjs/express#5603](expressjs/express#5603) [expressjs/express#5835](expressjs/express#5835) [expressjs/express#5781](expressjs/express#5781) [expressjs/express#5902](expressjs/express#5902) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5814](expressjs/express#5814) [#5928](https://github.com/equinor/webviz-subsurface-components/issues/5928) [#5926](https://github.com/equinor/webviz-subsurface-components/issues/5926) [#5902](https://github.com/equinor/webviz-subsurface-components/issues/5902) [#5781](https://github.com/equinor/webviz-subsurface-components/issues/5781) [#5603](https://github.com/equinor/webviz-subsurface-components/issues/5603) [#5836](https://github.com/equinor/webviz-subsurface-components/issues/5836)
hkfb pushed a commit to equinor/webviz-subsurface-components that referenced this pull request Sep 11, 2024
## [0.30.4](https://github.com/equinor/webviz-subsurface-components/compare/subsurface-viewer@0.30.3...subsurface-viewer@0.30.4) (2024-09-11)

### Bug Fixes

* bump body-parser and express in /typescript ([#2238](#2238)) ([0eca39e](0eca39e)), closes [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#523](expressjs/body-parser#523) [expressjs/body-parser#527](expressjs/body-parser#527) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [expressjs/body-parser#535](expressjs/body-parser#535) [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [#534](#534) [#531](#531) [#521](#521) [#523](#523) [#522](#522) [expressjs/express#5561](expressjs/express#5561) [expressjs/express#5562](expressjs/express#5562) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5564](expressjs/express#5564) [expressjs/express#5526](expressjs/express#5526) [expressjs/express#5579](expressjs/express#5579) [expressjs/express#5587](expressjs/express#5587) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5600](expressjs/express#5600) [expressjs/express#5433](expressjs/express#5433) [expressjs/express#5605](expressjs/express#5605) [expressjs/express#5569](expressjs/express#5569) [expressjs/express#5628](expressjs/express#5628) [expressjs/express#5639](expressjs/express#5639) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5619](expressjs/express#5619) [expressjs/express#5653](expressjs/express#5653) [expressjs/express#5666](expressjs/express#5666) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5672](expressjs/express#5672) [expressjs/express#5695](expressjs/express#5695) [expressjs/express#5683](expressjs/express#5683) [expressjs/express#5722](expressjs/express#5722) [expressjs/express#5762](expressjs/express#5762) [expressjs/express#5599](expressjs/express#5599) [expressjs/express#5436](expressjs/express#5436) [expressjs/express#5814](expressjs/express#5814) [expressjs/express#5836](expressjs/express#5836) [expressjs/express#5603](expressjs/express#5603) [expressjs/express#5835](expressjs/express#5835) [expressjs/express#5781](expressjs/express#5781) [expressjs/express#5902](expressjs/express#5902) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5814](expressjs/express#5814) [#5928](https://github.com/equinor/webviz-subsurface-components/issues/5928) [#5926](https://github.com/equinor/webviz-subsurface-components/issues/5926) [#5902](https://github.com/equinor/webviz-subsurface-components/issues/5902) [#5781](https://github.com/equinor/webviz-subsurface-components/issues/5781) [#5603](https://github.com/equinor/webviz-subsurface-components/issues/5603) [#5836](https://github.com/equinor/webviz-subsurface-components/issues/5836)
hkfb pushed a commit to equinor/webviz-subsurface-components that referenced this pull request Sep 11, 2024
## [1.3.1](https://github.com/equinor/webviz-subsurface-components/compare/group-tree-plot@1.3.0...group-tree-plot@1.3.1) (2024-09-11)

### Bug Fixes

* bump body-parser and express in /typescript ([#2238](#2238)) ([0eca39e](0eca39e)), closes [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#523](expressjs/body-parser#523) [expressjs/body-parser#527](expressjs/body-parser#527) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [expressjs/body-parser#535](expressjs/body-parser#535) [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [#534](#534) [#531](#531) [#521](#521) [#523](#523) [#522](#522) [expressjs/express#5561](expressjs/express#5561) [expressjs/express#5562](expressjs/express#5562) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5564](expressjs/express#5564) [expressjs/express#5526](expressjs/express#5526) [expressjs/express#5579](expressjs/express#5579) [expressjs/express#5587](expressjs/express#5587) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5600](expressjs/express#5600) [expressjs/express#5433](expressjs/express#5433) [expressjs/express#5605](expressjs/express#5605) [expressjs/express#5569](expressjs/express#5569) [expressjs/express#5628](expressjs/express#5628) [expressjs/express#5639](expressjs/express#5639) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5619](expressjs/express#5619) [expressjs/express#5653](expressjs/express#5653) [expressjs/express#5666](expressjs/express#5666) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5672](expressjs/express#5672) [expressjs/express#5695](expressjs/express#5695) [expressjs/express#5683](expressjs/express#5683) [expressjs/express#5722](expressjs/express#5722) [expressjs/express#5762](expressjs/express#5762) [expressjs/express#5599](expressjs/express#5599) [expressjs/express#5436](expressjs/express#5436) [expressjs/express#5814](expressjs/express#5814) [expressjs/express#5836](expressjs/express#5836) [expressjs/express#5603](expressjs/express#5603) [expressjs/express#5835](expressjs/express#5835) [expressjs/express#5781](expressjs/express#5781) [expressjs/express#5902](expressjs/express#5902) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5814](expressjs/express#5814) [#5928](https://github.com/equinor/webviz-subsurface-components/issues/5928) [#5926](https://github.com/equinor/webviz-subsurface-components/issues/5926) [#5902](https://github.com/equinor/webviz-subsurface-components/issues/5902) [#5781](https://github.com/equinor/webviz-subsurface-components/issues/5781) [#5603](https://github.com/equinor/webviz-subsurface-components/issues/5603) [#5836](https://github.com/equinor/webviz-subsurface-components/issues/5836)
hkfb pushed a commit to equinor/webviz-subsurface-components that referenced this pull request Sep 11, 2024
## [1.13.2](https://github.com/equinor/webviz-subsurface-components/compare/well-log-viewer@1.13.1...well-log-viewer@1.13.2) (2024-09-11)

### Bug Fixes

* bump body-parser and express in /typescript ([#2238](#2238)) ([0eca39e](0eca39e)), closes [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#523](expressjs/body-parser#523) [expressjs/body-parser#527](expressjs/body-parser#527) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [expressjs/body-parser#535](expressjs/body-parser#535) [expressjs/body-parser#522](expressjs/body-parser#522) [expressjs/body-parser#521](expressjs/body-parser#521) [expressjs/body-parser#531](expressjs/body-parser#531) [expressjs/body-parser#534](expressjs/body-parser#534) [#534](#534) [#531](#531) [#521](#521) [#523](#523) [#522](#522) [expressjs/express#5561](expressjs/express#5561) [expressjs/express#5562](expressjs/express#5562) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5564](expressjs/express#5564) [expressjs/express#5526](expressjs/express#5526) [expressjs/express#5579](expressjs/express#5579) [expressjs/express#5587](expressjs/express#5587) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5600](expressjs/express#5600) [expressjs/express#5433](expressjs/express#5433) [expressjs/express#5605](expressjs/express#5605) [expressjs/express#5569](expressjs/express#5569) [expressjs/express#5628](expressjs/express#5628) [expressjs/express#5639](expressjs/express#5639) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5619](expressjs/express#5619) [expressjs/express#5653](expressjs/express#5653) [expressjs/express#5666](expressjs/express#5666) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5672](expressjs/express#5672) [expressjs/express#5695](expressjs/express#5695) [expressjs/express#5683](expressjs/express#5683) [expressjs/express#5722](expressjs/express#5722) [expressjs/express#5762](expressjs/express#5762) [expressjs/express#5599](expressjs/express#5599) [expressjs/express#5436](expressjs/express#5436) [expressjs/express#5814](expressjs/express#5814) [expressjs/express#5836](expressjs/express#5836) [expressjs/express#5603](expressjs/express#5603) [expressjs/express#5835](expressjs/express#5835) [expressjs/express#5781](expressjs/express#5781) [expressjs/express#5902](expressjs/express#5902) [expressjs/express#5565](expressjs/express#5565) [expressjs/express#5590](expressjs/express#5590) [expressjs/express#5627](expressjs/express#5627) [expressjs/express#5690](expressjs/express#5690) [expressjs/express#5814](expressjs/express#5814) [#5928](https://github.com/equinor/webviz-subsurface-components/issues/5928) [#5926](https://github.com/equinor/webviz-subsurface-components/issues/5926) [#5902](https://github.com/equinor/webviz-subsurface-components/issues/5902) [#5781](https://github.com/equinor/webviz-subsurface-components/issues/5781) [#5603](https://github.com/equinor/webviz-subsurface-components/issues/5603) [#5836](https://github.com/equinor/webviz-subsurface-components/issues/5836)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants