Skip to content

Latest commit

 

History

History
38 lines (33 loc) · 1.32 KB

README.md

File metadata and controls

38 lines (33 loc) · 1.32 KB

Chingu Solo Project Feedback Scraper

This firebase function scrapes feedback from soloproject-evaluation using Puppeteer.

For Puppeteer to work with firebase functions,

  1. Make sure enough memory is allocated (512Mb in this case)
  2. Use Puppeteer 16.2.0. Version 18 might work according to some reports. However, the latest version (21), does not work.
  3. .puppeteerrc.cjs to configure cache
  4. "gcp-build": "node node_modules/puppeteer/install.js" to add a custom build step

The function does 4 things

  1. Scrapes the Github repo for feedback
  2. Stores the json file in firebase store
  3. Revalidates feedback tags in the next.js Evaluation app https://chingu-soloproject-evaluation-app.vercel.app/ https://github.com/cherylli/chingu-soloproject-evaluation-app
  4. Returns the scrape results (in JSON)

Github workflow to initiate scraping when the soloproject-evalution repo is updated

on:
  push
jobs:
  trigger-firebase-functions:
    runs-on: ubuntu-latest
    steps:
    - name: Trigger Firebase Functions
      id: getRequest
      uses: fjogeleit/http-request-action@v1
      with:
        url: ${{ secrets.FUNCTION_URL }}
        method: 'GET'
        timeout: 50000
    - name: Show Response
      run: |
        echo ${{ steps.getRequest.outputs.response }}