RSSHub/.github/workflows/scrape.yml

54 lines
1.7 KiB
YAML

name: Update meilisearch index
on:
push:
branches:
- master
paths:
- '.github/workflows/scrape.yml'
- 'docs/**'
workflow_dispatch: ~
schedule:
- cron: '44 1 * * 1'
jobs:
scrape-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js v16
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'yarn'
- name: Install dependencies (yarn)
run: yarn
- name: Pull image
run: docker pull getmeili/docs-scraper
- name: Wait for Netlify to finish
run: sleep 2m
if: github.event_name == 'push'
- name: Run docs-scraper
env:
HOST_URL: ${{ secrets.MEILISEARCH_HOST_URL }}
API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
CONFIG_FILE_PATH: ${{ github.workspace }}/scripts/docs-scraper/docs.rsshub.app.json
run: |
docker run -t --rm \
-e MEILISEARCH_HOST_URL=$HOST_URL \
-e MEILISEARCH_API_KEY=$API_KEY \
-v $CONFIG_FILE_PATH:/docs-scraper/config.json \
getmeili/docs-scraper pipenv run ./docs_scraper config.json
- name: Update meilisearch settings
uses: actions/github-script@v6
env:
HOST_URL: ${{ secrets.MEILISEARCH_HOST_URL }}
API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
with:
script: |
const meilisearchHost = process.env.HOST_URL
const meilisearchApiKey = process.env.API_KEY
const script = require(`${process.env.GITHUB_WORKSPACE}/scripts/docs-scraper/settings.js`)
await script({ core }, meilisearchHost, meilisearchApiKey)