# Build the package and publish the npm-pack tarball to GitHub Pages, so the # recorder can be run with npx straight from the Pages URL — no npm registry: # # npx https://concept-collection.github.io/commonroom-recorder/commonroom-recorder.tgz name: deploy on: push: branches: [main] workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: pages cancel-in-progress: false jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - run: npm ci # its prepare script builds dist/ - name: Pack tarball and build site run: | mkdir -p site npm pack --pack-destination site cp site/commonroom-recorder-*.tgz site/commonroom-recorder.tgz cat > site/index.html <<'EOF' commonroom-recorder

commonroom-recorder

Record a commonroom call from the command line: per-participant WAV files plus the room chat, for transcribing the meeting. Needs Node ≥ 22.

npx https://concept-collection.github.io/commonroom-recorder/commonroom-recorder.tgz record <room>

Add --transcribe to grow a speaker-attributed transcript live during the meeting (needs pip install faster-whisper), or create one afterwards:

npx https://concept-collection.github.io/commonroom-recorder/commonroom-recorder.tgz transcribe <recording-dir>

Stop recording with Ctrl-C. See the README for options and output format.

npx caches the download per URL; to pick up a newer version, use the versioned tarball (commonroom-recorder-__VERSION__.tgz, currently __VERSION__) or rm -rf ~/.npm/_npx.

EOF sed -i "s/__VERSION__/$(node -p 'require("./package.json").version')/g" site/index.html - uses: actions/upload-pages-artifact@v3 with: path: site deploy: needs: build runs-on: ubuntu-latest environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - id: deployment uses: actions/deploy-pages@v4