Skip to content

Remove Expired Jobs #1120

Remove Expired Jobs

Remove Expired Jobs #1120

name: Remove Expired Jobs
on:
schedule:
# Run nightly 1am
- cron: 0 1 * * *
workflow_dispatch:
inputs:
git-ref:
description: Git Hash (Optional)
required: false
jobs:
clean-jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install required packages
run: |
pip install requests pyaml urlchecker
- name: Remove Expired Jobs
run: |
python scripts/clean_jobs.py
- name: Run URLs-checker
uses: urlstechie/[email protected]
with:
# A comma-separated list of file types to cover in the URL checks
file_types: .md,.py,.yml
# Choose whether to include file with no URLs in the prints.
print_all: false
# More verbose summary at the end of a run
verbose: true
# How many times to retry a failed request (defaults to 1)
retry_count: 3
# Google Forms is having enormous timeouts
timeout: 10
# Exclude these patterns from the checker
exclude_patterns: supercomputing.org,https://pace.gatech.edu,https://www.linkedin.com,jobs.colorado.edu,zoom.us,danielskatz.org,usrse.github.io.wiki.git,ornl.gov,jobs.bnl.gov,https://www.rd-alliance.org/,https://uwhires.admin.washington.edu/,https://careers.umich.edu/,https://twitter.com/us_rse,https://twitter.com/us_rse/status/1447622175133945860,https://twitter.com/iancosden/status/1122937311644323841
# Only include these files
include_files: _data/jobs.yml,_data/related-jobs.yml,_data/internships.yml
- name: Push Fixes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
printf "GitHub Actor: ${GITHUB_ACTOR}\n"
git config --global user.name "github-actions"
git config --global user.email "[email protected]"
git add _data/jobs.yml _data/related-jobs.yml _data/internships.yml
set +e
git status | grep modified
if [ $? -eq 0 ]; then
set -e
printf "Changes\n"
git commit -m "Automated push to update jobs files $(date '+%Y-%m-%d')" || exit 0
git push origin main
else
set -e
printf "No changes\n"
fi