name: 3Dmol.js CI

on:
  pull_request:
  push:
    branches: [master]
  workflow_dispatch:
  

jobs:
  build_and_test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - name: Create apparmor profile
        run: |
          cat > /tmp/chrome-dev-builds  << EOF
          abi <abi/4.0>,
          include <tunables/global>
          profile chrome.dev /@{HOME}/.cache/puppeteer/chrome/**/chrome flags=(unconfined) {
          userns,
          include if exists <local/chrome>
          }          
          EOF
      - run: sudo cp /tmp/chrome-dev-builds /etc/apparmor.d/
      - name: Reload apparmor
        run: sudo service apparmor reload
      # As our package has a postInstall script, which in turn calls `npm run build`, hence we do not need a explicit job for that
      - name: Install Dependencies & Build 3dmol.js
        run: npm install 

      - name: Test    
        run: npm test

