{"id":21944718,"url":"https://github.com/browserstack/github-actions","last_synced_at":"2025-04-04T10:03:40.010Z","repository":{"id":38186484,"uuid":"287442169","full_name":"browserstack/github-actions","owner":"browserstack","description":"A collection of GitHub Actions for BrowserStack. For internal reference: https://browserstack.atlassian.net/wiki/spaces/ENG/pages/1750928573/GitHub+Integration+via+GitHub+Actions","archived":false,"fork":false,"pushed_at":"2025-03-24T11:03:11.000Z","size":2919,"stargazers_count":55,"open_issues_count":34,"forks_count":37,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T09:07:49.614Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/browserstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-14T04:20:40.000Z","updated_at":"2025-03-24T10:31:22.000Z","dependencies_parsed_at":"2024-06-18T17:07:56.860Z","dependency_job_id":"d29b6951-2e09-45ec-81b3-f4c1b465f37b","html_url":"https://github.com/browserstack/github-actions","commit_stats":{"total_commits":237,"total_committers":10,"mean_commits":23.7,"dds":0.1729957805907173,"last_synced_commit":"d2f3cba9eada15b0a1a330a4365e11467c075985"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browserstack%2Fgithub-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browserstack%2Fgithub-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browserstack%2Fgithub-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browserstack%2Fgithub-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/browserstack","download_url":"https://codeload.github.com/browserstack/github-actions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247117749,"owners_count":20886439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T04:16:57.003Z","updated_at":"2025-04-04T10:03:39.980Z","avatar_url":"https://github.com/browserstack.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BrowserStack GitHub Actions\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.browserstack.com/?utm_source=github\u0026utm_medium=partnered\"\u003e\u003cimg alt=\"BrowserStack Logo\" src=\"https://d98b8t1nnulk5.cloudfront.net/production/images/layout/logo-invoice.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/browserstack/github-actions/actions?query=workflow%3Asetup-env\"\u003e\u003cimg alt=\"setup-env build status\" src=\"https://github.com/browserstack/github-actions/workflows/setup-env/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/browserstack/github-actions/actions?query=workflow%3Asetup-local\"\u003e\u003cimg alt=\"setup-local build status\" src=\"https://github.com/browserstack/github-actions/workflows/setup-local/badge.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nThis respository contains a library of GitHub Actions to help you integrate your test suite with the [BrowserStack](https://www.browserstack.com/?utm_source=github\u0026utm_medium=partnered) device cloud. \n\nYou need a BrowserStack username and access-key to run your tests on the BrowserStack device cloud. You can [sign-up for free trial](https://www.browserstack.com/users/sign_up/?utm_source=github\u0026utm_medium=partnered) if you do not have an existing account.\n\nIf you want to test your open source project on BrowserStack, then [sign-up here](https://www.browserstack.com/open-source/?utm_source=github\u0026utm_medium=partnered) for lifetime free access to all our products.\n\n## Available Actions\n* [setup-env](./setup-env): This Action helps in setting up the required environment variables that are to be used in your test scripts. The environment variables set up here shall be used by other BrowserStack actions as well for their functioning.\n  \n* [setup-local](./setup-local): This Action downloads and starts the appropriate BrowserStackLocal binary, thereby creating a secure tunnel connection from the GitHub Actions runner environment to the BrowserStack device cloud. This secure tunnel will be used by the remote browsers in BrowserStack to access your web application hosted in the GitHub Actions runner environment. **You do not need this Action if the application to be tested is accessible over the public internet.**\n\n## Prerequisites\n* You should set your BrowserStack Username and Access Key as GitHub Secrets, i.e. `BROWSERSTACK_USERNAME` and `BROWSERSTACK_ACCESS_KEY` respectively.\n\n## Usage\nAs this is a library of Actions, invoking this Action will trigger the `setup-env` Action internally. The following usage example will **only** set up the required environment variables:\n\n```yaml\n- name: BrowserStack Action\n  uses: 'browserstack/github-actions@master'\n  with:\n    username:  ${{ secrets.BROWSERSTACK_USERNAME }}\n    access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}\n    build-name: BUILD_INFO\n    project-name: REPO_NAME\n```\nWe recommend you to invoke the Actions individually depending on the use case. A sample workflow for the same is shown below. You can additionally refer to the individual `README` ([setup-env](./setup-env), [setup-local](./setup-local)) of the Actions to know more about how they work, the inputs they support and their usage examples.\n\n## Sample Workflow with usage of both Actions\nThe workflow example below would be useful when the web application to be tested is hosted on the GitHub Actions runner environment, i.e. not accessible from the public Internet.\n\n```yaml\nname: 'BrowserStack Test'\non: [push, pull_request]\n\njobs:\n  ubuntu-job:\n    name: 'BrowserStack Test on Ubuntu'\n    runs-on: ubuntu-latest\n    steps:\n      - name: 'BrowserStack Env Setup'\n        uses: 'browserstack/github-actions/setup-env@master'\n        with:\n          username:  ${{ secrets.BROWSERSTACK_USERNAME }}\n          access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}\n          build-name: BUILD_INFO\n          project-name: REPO_NAME\n      - name: 'BrowserStackLocal Setup'\n        uses: 'browserstack/github-actions/setup-local@master'\n        with:\n          local-testing: start\n          local-identifier: random\n```\n\n### Note\n---\nPost these steps, you will have to build and run your application web server on the same runner environment. Further, invoke your test scripts by utilizing the environment variables that have been set by actions. For more detailed steps on how to integrate your test suite with BrowserStack on GitHub Actions, visit [BrowserStack Documentation](https://www.browserstack.com/docs/automate/selenium/github-actions/?utm_medium=partnered\u0026utm_source=github) for the same.\n\nAfter you are done running your tests, invoke the `setup-local` Action again with `local-testing: stop` as the input:\n```yaml\n      - name: 'BrowserStackLocal Stop'\n        uses: 'browserstack/github-actions/setup-local@master'\n        with:\n          local-testing: stop\n```\n## Feature requests and bug reports\nPlease file feature requests and bug reports as [github issues](https://github.com/browserstack/github-actions/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowserstack%2Fgithub-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrowserstack%2Fgithub-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowserstack%2Fgithub-actions/lists"}