Easily run the Algolia Crawler after a deployment. Works for free accounts including DocSearch. Only requires your Crawler Credentials; Crawler ID, Crawler User ID, and Crawler API Key.
This uses the Algolia API to Start a crawl.
- name: 'Algolia Crawler'
uses: cssnr/algolia-crawler-action@v2
with:
crawler_id: ${{ secrets.CRAWLER_ID }}
crawler_user_id: ${{ secrets.CRAWLER_USER_ID }}
crawler_api_key: ${{ secrets.CRAWLER_API_KEY }}Make sure to review the Inputs and checkout more Examples.
This is an extremely simple action, for more details see src/index.js.
An alternative to this action is to use a simple web-request-action.
Note
Please submit a Feature Request for new features or Open an Issue if you find any bugs.
| Input | Short Description of Input |
|---|---|
| crawler_id | Crawlers > Your Cralwer > Settings > Crawler ID |
| crawler_user_id | Data Sources > Crawler > Settings > Crawler User Id |
| crawler_api_key | Data Sources > Crawler > Settings > Crawler API Key |
Note, these are found in Algolia Dashboard under: Data Sources > Crawler
To find your crawler_id you need to select your named crawler from the Crawlers list,
then under the CONFIGURATION heading, click on Settings. From there you can copy your Crawler ID.
To find these do not select a crawler from the Cralwers tab, instead click on the Settings tab.
From there you can copy both the Crawler User Id and Crawler API Key.
These are usually the same across your account if you have multiple crawlers. The only variable is the Cralwer ID.
| Output | Description |
|---|---|
| status | API Response Status Code |
| task_id | Resulting Crawler Task ID |
- name: 'Algolia Crawler'
uses: cssnr/algolia-crawler-action@v2
id: crawler
with:
crawler_id: ${{ secrets.CRAWLER_ID }}
crawler_user_id: ${{ secrets.CRAWLER_USER_ID }}
crawler_api_key: ${{ secrets.CRAWLER_API_KEY }}
- name: 'Echo Output'
run: |
echo "Status Code: ${{ steps.crawler.outputs.status }}"
echo "Task ID: ${{ steps.crawler.outputs.task_id }}"💡 Click on an example heading to expand or collapse the example.
GitHub Pages - VitePress
name: 'Pages'
on:
push:
branches:
- 'master'
paths:
- 'docs/**'
- '.vitepress/**'
- 'package.json'
- '.github/workflows/pages.yaml'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
name: 'Build'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: 'Checkout'
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: 'Setup Node 22'
uses: actions/setup-node@v5
with:
node-version: 22
cache: npm
- name: 'Configure Pages'
uses: actions/configure-pages@v5
- name: 'Install Dependencies'
run: |
npm ci
- name: 'Run Build'
run: |
npm run build
- name: 'Upload Pages Artifact'
uses: actions/upload-pages-artifact@v3
with:
path: .vitepress/dist
deploy:
name: 'Deploy'
runs-on: ubuntu-latest
timeout-minutes: 5
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: 'Deploy Pages'
id: deployment
uses: actions/deploy-pages@v4
post:
name: 'Post-Deploy'
runs-on: ubuntu-latest
timeout-minutes: 5
needs: deploy
steps:
- name: 'Algolia Crawler'
uses: cssnr/algolia-crawler-action@v2
with:
crawler_id: ${{ secrets.CRAWLER_ID }}
crawler_user_id: ${{ secrets.CRAWLER_USER_ID }}
crawler_api_key: ${{ secrets.CRAWLER_API_KEY }}For more examples, you can check out other projects using this action:
https://github.com/cssnr/algolia-crawler-action/network/dependents
The following rolling tags are maintained.
You can view the release notes for each version on the releases page.
For general help or to request a feature, see:
- Q&A Discussion: https://github.com/cssnr/algolia-crawler-action/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/algolia-crawler-action/discussions/categories/feature-requests
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/algolia-crawler-action/issues
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
- Provide General Feedback: https://cssnr.github.io/feedback/
For more information, see the CSSNR SUPPORT.md.
If you would like to submit a PR, please review the CONTRIBUTING.md.
Please consider making a donation to support the development of this project and additional open source projects.
Additionally, you can support other GitHub Actions I have published:
- Stack Deploy Action
- Portainer Stack Deploy Action
- Docker Context Action
- Actions Up Action
- VirusTotal Action
- Mirror Repository Action
- Update Version Tags Action
- Docker Tags Action
- Update JSON Value Action
- JSON Key Value Check Action
- Parse Issue Form Action
- Cloudflare Purge Cache Action
- Mozilla Addon Update Action
- Package Changelog Action
- NPM Outdated Check Action
- Label Creator Action
- Algolia Crawler Action
- Upload Release Action
- Check Build Action
- Web Request Action
- Get Commit Action
❔ Unpublished Actions
These actions are not published on the Marketplace, but may be useful.
- cssnr/create-files-action - Create various files from templates.
- cssnr/draft-release-action - Keep a draft release ready to publish.
- cssnr/env-json-action - Convert env file to json or vice versa.
- cssnr/push-artifacts-action - Sync files to a remote host with rsync.
- smashedr/update-release-notes-action - Update release notes.
- smashedr/combine-release-notes-action - Combine release notes.
📝 Template Actions
These are basic action templates that I use for creating new actions.
- js-test-action - JavaScript
- ts-test-action - TypeScript
- py-test-action - Python (Dockerfile)
- docker-test-action - Docker (Image)
Note: The docker-test-action builds, runs and pushes images to GitHub Container Registry.
For a full list of current projects visit: https://cssnr.github.io/