Screenshot matrix jobs had "fail-fast: false". This enabled each test runner to provide its `playwright-report` directory so team members can view test failures. At the time, all tests ran even if previous tests failed.
In https://github.com/ionic-team/ionic-framework/pull/26447, we updated the Playwright config to have tests fail fast within a single test runner. However, other test runners continue to run. This is not helpful in the case of failing tests because the artifacts for each test runner will not be reported until all test runners are done.
This PR changes the matrix strategy to enable fail-fast (which is the default) so in-progress/queued test runners fail if a previous test runner fails.
this commit introduces the ability for the ionic framework to run it's
continuous integration (ci) suite using the latest commits in the
[stencil repository](https://github.com/ionic-team/stencil). the motivation
behind this is the ability for both the ionic framework and stencil
teams to have better insight as to whether a new version of stencil
will work correctly in the ionic framework. the intent here is that any
regressions can be caught and rectified by the appropriate team prior
to a release of either piece of software.
the stencil repository currently does not have the ability to publish
a "developer" release, or any other type of release that might otherwise
be considered for a "canary" or "nightly" release. the stencil team is
working towards this goal. however, we believe both teams can benefit
from this type of testing in the mean time. as such, we temporarily build
stencil from source and install the generated tarball in ci. this allows us
to begin to work through the operational issues related to having this
new integration without being reliant on a new publishing pipeline.
the job is introduced as a cron job, that runs in the early hours of the
morning. it closely resembles this repo's build step that runs on every
pr that's opened - with the difference of pulling down the stencil repo,
building the project, and installing the tarball