Repository navigation
64 lines (55 loc) · 1.78 KB
/
Copy pathupdate-data.yml
File metadata and controls
64 lines (55 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
name: Update data
on:
schedule:
- cron: "17 */6 * * *"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: update-github-trending-data
cancel-in-progress: false
jobs:
update:
runs-on: ubuntu-latest
env:
UV_PYTHON_PREFERENCE: only-system
UV_PYTHON_DOWNLOADS: never
steps:
- name: Check out repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up Python
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version-file: .python-version
- name: Set up uv
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
with:
version: "0.12.18"
enable-cache: true
cache-dependency-glob: uv.lock
- name: Generate dataset
id: generate
shell: bash
run: |
set +e
uv run --frozen github-trending --verbose
exit_code=$?
echo "exit_code=$exit_code" >> "$GITHUB_OUTPUT"
if [[ "$exit_code" != "0" && "$exit_code" != "2" ]]; then
exit "$exit_code"
fi
- name: Commit generated data
if: steps.generate.outputs.exit_code == '0' || steps.generate.outputs.exit_code == '2'
shell: bash
run: |
git add data
if git diff --cached --quiet; then
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git commit -m "chore(data): update $(date -u +'%Y-%m-%dT%H:%M:%SZ') [skip ci]"
git push
- name: Mark degraded update as failed
if: steps.generate.outputs.exit_code == '2'
run: exit 1