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.
Warning
This action no longer works on the master branch.
The latest tag is also being sunset very soon.
If you need a rolling tag use the @release branch.
| 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 | Algolia 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.
| Version Tag | Rolling | Bugs | Feat. | Name | Target | Example |
|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | Major | vN.x.x |
vN |
|
| ✅ | ✅ | ❌ | Minor | vN.N.x |
vN.N |
|
| ❌ | ❌ | ❌ | Micro | vN.N.N |
vN.N.N |
You can view the release notes for each version on the releases page.
The Major tag is recommended. It is the most up-to-date and always backwards compatible. Breaking changes would result in a Major version bump. At a minimum you should use a Minor tag.
If you run into any issues or need help getting started, please do one of the following:
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
- AI Issue Action
- Actions Up Action
- Webstore Publish Action
- Rhysd Actionlint Action
- Zensical Action
- VirusTotal Action
- Homebrew Action
- Mirror Repository Action
- Update Version Tags Action
- Docker Tags Action
- TOML 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
- Create Pull 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.
- smashedr/openai-translate-action - OpenAI translate action.
📝 Template Actions
These are basic action templates that I use for creating new actions.
- javascript-action - JavaScript
- typescript-action - TypeScript
- py-test-action - Dockerfile Python
- test-action-uv - Dockerfile Python UV
- docker-test-action - Docker Image Python
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/
