Skip to content

Add test for metadata collector attribute #29

Add test for metadata collector attribute

Add test for metadata collector attribute #29

Workflow file for this run

name: Testing Suite
on:
pull_request:
types: [opened, synchronize]
push:
branches:
- main
workflow_dispatch:
env:
NODE_VERSION: 22.16
jobs:
linting:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run npm ci
run: npm ci
- name: Run npm prettier
continue-on-error: true
run: |
./node_modules/.bin/prettier --check . || echo "::warning::Prettier found formatting issues. Fix it locally by running './node_modules/.bin/prettier --write .'"
- name: Run ESLint
run: ./node_modules/.bin/eslint --ext .js .
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run npm ci
run: npm ci
- name: Build project
run: npm run build
- name: Run unit tests
run: npm run test:unit
env:
CI: true
NODE_ENV: test
build:
runs-on: ubuntu-latest
needs: unit-tests
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run npm ci
run: npm ci
- name: Build project
run: npm run build
- name: Commit build changes
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add dist/
git diff --staged --quiet || git commit -m "Update build artifacts [skip ci]"
git push
browserstack:
runs-on: ubuntu-latest
needs: [unit-tests, linting, build]
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
steps:
- name: "BrowserStack Env Setup"
uses: "browserstack/github-actions/setup-env@master"
with:
username: ${{ secrets.BROWSERSTACK_USERNAME }}
access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
- name: "Start BrowserStackLocal Tunnel"
uses: "browserstack/github-actions/setup-local@master"
with:
local-testing: "start"
local-logging-level: "all-logs"
local-identifier: "random"
- uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run npm ci
run: npm ci
- name: Build project
run: npm run build
- name: Run BrowserStack tests
run: node ./test/index.js
env:
CI: true
NODE_ENV: test
DEBUG: false
LOCATION: ${{ secrets.LOCATION }}
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
- name: "Stop BrowserStackLocal"
uses: "browserstack/github-actions/setup-local@master"
with:
local-testing: "stop"