name: CI
on:
  push:
    branches:
      - main
      - 'v*.[0-9]'
  pull_request:

permissions:  # added using https://github.com/step-security/secure-workflows
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Harden Runner
      uses: step-security/harden-runner@5c7944e73c4c2a096b17a9cb74d65b6c2bbafbde # v2.9.1
      with:
        disable-sudo: true
        egress-policy: block
        allowed-endpoints: >
          coveralls.io:443
          github.com:443
          registry.yarnpkg.com:443
          objects.githubusercontent.com:443

    - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
    - name: Install modules
      run: yarn
    - name: Run linter
      run: yarn lint
    - name: Run tests
      run: yarn test --coverage
    - name: Coveralls
      uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}
