name: 'BrowserStack Test' on: pull_request_target: branches: [ master ] types: [ labeled ] jobs: ubuntu-job: name: 'BrowserStack Test on Ubuntu' runs-on: ubuntu-latest if: github.event.label.name == 'safe_to_test' env: GITACTIONS: true steps: - name: 'Remove safe_to_test label' uses: actions/github-script@v8 with: script: | await github.rest.issues.removeLabel({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.payload.pull_request.number, name: 'safe_to_test' }); - name: 'BrowserStack Env Setup' # Invokes the setup-env action uses: browserstack/github-actions/setup-env@master with: username: ${{ secrets.BROWSERSTACK_USERNAME }} access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} - name: 'BrowserStack Local Tunnel Setup' # Invokes the setup-local action uses: browserstack/github-actions/setup-local@master with: local-testing: start local-identifier: random - name: 'Checkout the repository' uses: actions/checkout@v6 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 2 - name: 'Setting up Ruby' uses: ruby/setup-ruby@v1 # Ruby version is defined in .ruby-version file - name: 'Update and Install Dependencies' run: | sudo apt update sudo apt install libcurl4 libcurl4-openssl-dev - name: 'Configure Bundle testing and install gems' run: | bundle config unset --local without bundle config set --local with 'test' 'development' bundle install - name: 'Run BrowserStack simple verification' run: | bundle exec rake browserstack --trace - name: 'BrowserStackLocal Stop' # Terminating the BrowserStackLocal tunnel connection uses: browserstack/github-actions/setup-local@master with: local-testing: stop