This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Scrape and Upload to Google Sheets | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
scrape-and-upload: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.12" | |
cache: "pip" # This caches pip dependencies | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Install Playwright browsers | |
run: playwright install --with-deps chromium firefox webkit | |
- name: Run scraping and upload | |
env: | |
GCP_JSON: ${{ secrets.GCP_JSON }} | |
GOOGLE_SHEETS_ID: ${{ secrets.GOOGLE_SHEETS_ID }} | |
PYTHONUNBUFFERED: 1 | |
run: | | |
chmod +x ./scrape.sh | |
./scrape.sh | |
python upload_to_sheets.py | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: csv-files | |
path: public/*.csv | |
retention-days: 5 | |
- name: Cleanup | |
if: always() | |
run: | | |
rm -rf output public |