-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
chore: migrate to GitHub Actions for CI #3701
Conversation
Why do we want to use headless browsers instead of xvfb? |
@jginsburgn I think xvfb was used mostly for historical reasons because Karma predates times when the headless mode was implemented by browsers. It seems that xvfb requires extra work or a third-party dependency to use it in GitHub Actions, so I decided to get rid of it altogether. Headless should work the same as headful for the purpose of running these tests and we test in multiple browsers in headful mode using BrowserStack anyways. |
How can we protect ourselves from malicious executions triggered by pushes and PRs? |
As it says in the PR description, secrets are not available to the builds run from forks (i.e. when somebody forks repo and sends a PR). So I don't think there is any security risk there. As for the malicious pushes... Well, we should not give push access to the people we don't trust. But that's pretty much the same level of security as we used to have with Travis. I'm not sure how we can make it better without hurting the ability of collaborators to actually do work (e.g. run tests on BrowserStack to debug issues, etc). |
I have deleted the Travis webhooks. Can you clarify what is missing for Travis? |
Shouldn't we use BROWSER_STACK_ACCESS_KEY instead? |
Where and how are these used? |
Just to confirm, this is only used in the "Release" workflow by the |
I think this is not needed :) |
I'll try to close/re-open PR to see if GitHub Actions get triggered. UPD Does not seem so. Will fix other comments and then see how to solve it then. |
I'll open a new PR to confirm that Travis and AppVeyor are not triggered to see if that's enough or we need to do something else. UPD So looks like Travis was still triggered for the branch. Maybe it's configured somewhere in the settings as a required check or something? Also, Appveyor was run, so we need to disable it as well. Maybe https://remarkablemark.medium.com/remove-travis-ci-from-github-7ea674784897?
I don't understand. What exactly do you mean by this?
SuaceLabs tokens are used in the integration tests, which are run by
That's correct.
That's actually used by update-docs.js to update documenation when release is cut. I would suggest putting the same token as we have in Travis to secrets as it should have push access to the documentation website repo. Or alternatively, we can generate a new token specifically for that repo and store it under a different name ( |
ee80f91
to
6344910
Compare
- Use headless browsers instead of xfvb where possible. - Replace commitlint-travis with usage of the base commitlint as there is no official CLI for GitHub Actions. - Remove CI badges as GitHub displays the CI status natively for each commit.
This is needed because in GH's configuration, we need to distinguish the required checks for protected branches and giving them unique names results in easiera configs.
a3ecda4
to
9fc1e75
Compare
The purpose of this test is to make sure that client JS works in different browsers and it does not need to be run on different OS/Node versions.
9fc1e75
to
a050f4c
Compare
🎉 This PR is included in version 6.3.5 🎉 The release is available on: Your semantic-release bot 📦🚀 |
* chore: migrate to GitHub Actions for CI - Use headless browsers instead of xfvb where possible. - Replace commitlint-travis with usage of the base commitlint as there is no official CLI for GitHub Actions. - Remove CI badges as GitHub displays the CI status natively for each commit. * chore: use BS plugin's compatible env names See: https://github.com/karma-runner/karma-browserstack-launcher#:~:text=username%20your%20BS,BROWSERSTACK_ACCESS_KEY%20env%20variable. * chore: improve GH Actions workflow's job names This is needed because in GH's configuration, we need to distinguish the required checks for protected branches and giving them unique names results in easiera configs. * chore: remove client testing from the windows job of test.yml The purpose of this test is to make sure that client JS works in different browsers and it does not need to be run on different OS/Node versions. Co-authored-by: Jonathan Ginsburg <jginsburgn@google.com>
Remaining work (for which I don't have permissions):
BROWSER_STACK_USERNAMEBROWSER_STACK_ACCESS_KEYGH_TOKEN