dzcode-io/dzcode.io

refactor CI pipelines

ZibanPirate opened this issue ยท 3 comments

Description

now that we have a bit more complex CI pipeline, it makes sense to refactor it in a re-usable way.

the solution might look like this:

  • install (3 OSs)
  • build (3 OSs), uses install
  • lint (3 OSs), uses build
  • test (3 OSs), uses build
  • e2e (3 OSs, 3 browsers), uses build

need to experiment and see what workflow is best.

Check List

  1. update CI pipelines for pull-request checks

Additional Comments

omdxp commented

for e2e we don't need 3 OSs, just one can do the job

for e2e we don't need 3 OSs, just one can do the job

browsers behave differently in different OSs, also, Safari is only available on macOS.

I'm also starting to see some limitations with cypress:

  • can't test new tabs
  • have experimental support for Safari.

I think we should also take a look at Playwright as an alternative, it already covers those above points

omdxp commented

I think we should also take a look at Playwright as an alternative, it already covers those above points

cypress still needs to fully support Safari indeed, if this playwright has those points covered then we can switch to it