-
Notifications
You must be signed in to change notification settings - Fork 254
Github Actions
JuanMa Garrido edited this page May 21, 2021
·
5 revisions
Github Actions are a useful tool to maintain the sanity and healthy of a project code. In their own words, they allow you to
Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow.
They can be trigered at different points (whenever a PR is opened, every hour, ...) and they can run different workflows to do things like: run tests, check coverage, check the performance of a site, etc...
In Frontity, there are Github Actions triggered mostly when:
- A PR is created or updated
- A merge is done on
dev
branch - A merge is done on
master
branch
In this repository, the following Github Actions are defined in the folder .github/workflows
:
Name | File | What it does | When is trigerred |
---|---|---|---|
cli e2e | cli-e2e.yml |
Run e2e tests for the CLI, both in the filesystem (for Ubuntu, Windows and macOS) and in a docker container. | Whenever a PR is opened or updated |
deploy production | deploy-production.yml |
Deploy the projects to production, like https://mars.frontity.org. | When code is merged to master
|
e2e browserstack (dev) | e2e-bs-dev.yml |
Run the E2E Cypress tests in the BrowserStack cloud using the old versions of Edge, Firefox, and Chrome. | When code is merged to dev
|
e2e browserstack | e2e-bs-pr.yml |
Run the E2E Cypress tests in the BrowserStack cloud using the latest versions of Edge and Firefox. | When a PR is opened or updated |
e2e gh actions | e2e-gh-actions.yml |
Run the E2E Cypress tests using the latest version of Chrome. It also runs the E2E test that require a WordPress instance. | When a PR is opened or updated |
ESLint | eslint.yml |
Run eslint against the changed files in a PR. ESLint issues are annotated inline on the PR diff. |
When a PR is opened or updated |
Lighthouse | lighthouse.yml |
Deploy the projects to staging URLs and audit them using Lighthouse. | When a PR is opened or updated |
Check PR tasks | pull-requests.yml |
Check that the tasks defined in the PR description are complete. | When the PR description is opened or edited |
Release | release.yml |
Create a PR to prepare a release, modifying versions and changelogs with the correct information. Once the PR is merged, it publishes the packages to npm. | When code is merged to master
|
BrowserStack Selenium Module | selenium-module.yml |
Run the E2E Selenium tests in the BrowserStack cloud using old browsers that support Proxy and modules. | When code is merged to dev
|
BrowserStack Selenium Proxy | selenium-proxy.yml |
Run the E2E Selenium tests in the BrowserStack cloud using old browsers that support Proxy but not modules. | When code is merged to dev
|
BrowserStack Selenium SSR | selenium-ssr.yml |
Run the E2E Selenium tests in the BrowserStack cloud using old browsers that don't support Proxy nor modules. | When code is merged to dev
|
unit tests | unit-tests.yml |
Run all the Unit Tests. | When a PR is opened or updated |