Files
Jobs_Applier_AI_Agent/.github/workflows/jobs-database.yml
T
Federico EliaandClaude Fable 5.1 f8d7093c5a Job database: rebuilt every five hours instead of once a day
The biggest source, jobhive, publishes around 15:00 UTC and the new-grad
lists commit every hour; the 04:23 build read them up to a day late. Cron
23 */5 * * *, off the top of the hour; timeout 200 minutes so a hung run
does not take the next slot; six dated releases kept, about thirty hours.
Texts say five hours, and the search log gives the build's hour.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-11-07 03:34:57 +01:00

37 lines
1.2 KiB
YAML

name: job database
# Every five hours: read the public job databases, merge them and publish the result as a release, which AIHawk reads when it searches.
# Five hours because the biggest source, jobhive, publishes around 15:00 UTC and the small new-grad lists every hour; a daily build read them up to a day late.
# Minute 23 because GitHub delays schedules at the top of the hour.
# Users never scrape anything.
on:
schedule:
- cron: "23 */5 * * *"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: job-database
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 200 # shorter than the five hours to the next run, so a hung build does not take its slot
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: room on disk
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
df -h /
- run: pip install duckdb
- run: python pipeline/build.py --out work
- run: python pipeline/publish.py --out work/out --repo "$GITHUB_REPOSITORY"
env:
GH_TOKEN: ${{ github.token }}