Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These are the CI steps for the following two items:
The Cypress e2e test is not yet included in this PR.
The Cypress e2e test will have to mobilize headless browser engines, which requires several graphics libraries to be installed to the system. So we have two options for preparing the environment:
A: use the default ubuntu distribution and install those graphic libraries or
B: use the Cypress officially prepared docker image and install other toolchains (eg. make) as needed.
For the sake of increasing the likelihood of running Cypress test suite successfully, I chose the latter.
In order to reuse the installed Cypress executables (installed through
npm install
) I decided to cache the Cypress installation cache. Also I packaged the installednode_modules
together with the code base. The cache (in the form of tar files) are passed over to the depending jobs. The successive jobs do not need to check the code out again.Another reason for tarring the files is because it preserves file permissions, otherwise with the default
upload-artifact
GH action, all file permission will be set to 644. This is noted here.