teammates icon indicating copy to clipboard operation
teammates copied to clipboard

Optimize GitHub Actions

Open DhiraPT opened this issue 5 months ago • 12 comments

Currently, all test workflows are triggered automatically on every commit, including expensive and long-running jobs like E2E and accessibility tests. Moreover, whenever a PR becomes outdated, developers need to merge master into their PR branch to sync it. This triggers a full re-run of all test workflows, even for minor or unrelated changes.

Proposed Solution:

Always run on every commit (pull_request):

  1. Component Tests / lint
  2. Build Developer Guide / Dev docs
  3. Component Tests / component-testing
  4. Pull Request Checker / check-pr
  5. security/snyk

Run manually (workflow_dispatch or tools like slash-command-dispatch):

  1. Accessibility Tests / axe-testing
  2. E2E Tests / E2E-testing (stable & unstable)
  3. E2E Sql Tests / E2E-sql-testing (stable & unstable)

DhiraPT avatar Jul 05 '25 16:07 DhiraPT

hey @DhiraPT can i work on this issue

madhav2348 avatar Oct 03 '25 10:10 madhav2348

Hi @madhav2348, yes feel free to work on this issue and tag me after you are done!

DhiraPT avatar Oct 07 '25 09:10 DhiraPT

Hey @DhiraPT, I just finished up. Before I submit the PR, I have a quick suggestion: Instead of relying on manual testing using workflow_dispatch or other tools, how about we simply make every PR wait for the maintainer's approval for specific tests? Does that sound like a better approach? or I stick with the proposed one?

madhav2348 avatar Oct 07 '25 18:10 madhav2348

Sorry @madhav2348, do you mean using GitHub’s workflow run approval (i.e. the maintainer clicks Approve and run before tests start), or approval through a regular PR review?

DhiraPT avatar Oct 07 '25 20:10 DhiraPT

Yes,GitHub run approval where maintainers clicks and approve for the workflow. its more convenient and effective for each PR Or we can stick with the proposed solution!

madhav2348 avatar Oct 08 '25 04:10 madhav2348

@madhav2348 Hmm, actually we can try your solution. I think it's simpler. So, we'll block merging until the workflow has successfully passed.

DhiraPT avatar Oct 09 '25 15:10 DhiraPT

Hey @DhiraPT , for approve for workflow feature we just have to enable " Require approval for all external contributors " in Setting -> Actions -> General , There will be no need for to update any workflow This will ensure a secure review process and full control on every PR and each workflow,

madhav2348 avatar Oct 10 '25 18:10 madhav2348

@madhav2348 Unfortunately, I don't have access to repository options. @damithc could you help me take a look at this issue?

DhiraPT avatar Oct 16 '25 19:10 DhiraPT

@DhiraPT , I can work on your proposed solution if that didn't workout!

madhav2348 avatar Oct 17 '25 04:10 madhav2348

@DhiraPT @madhav2348 Thanks for inputs in this issue. Is the final result a reduction in automated workload and an increase in manual workload? If that is the case, wouldn't it be better to keep the status quo, especially given that we have lean periods during which the manpower available for manual work is very low?

damithc avatar Oct 17 '25 04:10 damithc

@madhav2348 Yes, let’s proceed with my proposed solution.

@damithc I don’t think this would significantly change the manual workload. Maintainers would just need to run the longer workflows before approving a PR. The main difference is that this approach reduces unnecessary workflow runs, cutting down CI time and compute cost.

DhiraPT avatar Oct 17 '25 08:10 DhiraPT

has this issue been solved yet? if not I have a solution can I have it be assigned.

omarayman23 avatar Oct 21 '25 00:10 omarayman23