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 optim: reduce the time between merging a PR and deploying it in production #721

Open
adrienjoly opened this issue Sep 9, 2023 · 0 comments

Comments

@adrienjoly
Copy link
Member

openwhyd.org is an open-source music platform used daily by thousands of users to create playlists of songs from the web (Youtube, Soundcloud, etc...), and discover musical gems from similar users.

Tech stack: Node.js, MongoDB, Docker, Mocka, Webdriver.io, jQuery, Electron

Goal

Whenever we merge a pull request to the main branch, a new versioned released it created after (re)running our CI pipeline (i.e. all automated tests + other checks), although it normally already passed on the branch of the PR. This release is created by our "release" CI workflow.

The problem is that we have to wait ~5 minutes after merging a pull request, before deploying that new release in production.

It would be awesome if we could deploy less than one minute after merging, while still filling these requirements:

  • Why do we wait for tests to pass before creating that release? Because we don't want to release broken versions.
  • Why do we wait for the release to be created before deploying it in production? Because part of that release is to update the version number in package.json, which is used by our monitoring to track new bugs.

One way to achieve that would be to skip the execution of the CI pipeline after merging a PR, if that same pipeline already passed on the PR's branch.

Howto

One possible solution to achieve this: integrate Skip Duplicate Actions · Actions · GitHub Marketplace into our CI workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant