Repository navigation
69 lines (59 loc) · 2.15 KB
/
Copy pathdatasets.yml
File metadata and controls
69 lines (59 loc) · 2.15 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
65
66
67
68
69
name: Update datasets
on:
schedule:
# Every Monday at 09:00 America/Sao_Paulo (12:00 UTC), same day as Dependabot.
- cron: "0 12 * * 1"
workflow_dispatch:
inputs:
datasets:
description: "Datasets to rebuild, separated by spaces (e.g. `ncm cbo`). Empty rebuilds all of them."
required: false
default: ""
type: string
permissions:
contents: read
jobs:
update-datasets:
name: Update the embedded datasets
runs-on: ubuntu-latest
# Only this job pushes the dataset branch and opens the pull request.
permissions:
contents: write
pull-requests: write
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup
uses: ./.github/actions/setup
- name: Rebuild datasets
env:
DATASETS: ${{ inputs.datasets }}
run: |
read -ra datasets <<< "$DATASETS"
npm run build:data -- "${datasets[@]}"
- name: Validate the regenerated datasets
run: npm run check && npx vp test --run
- name: Check for changes
id: diff
run: |
if [ -z "$(git status --porcelain --untracked-files=all)" ]; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
# Written outside the workspace, so the pull request does not pick the file up as a change.
- name: Summarize what changed
if: steps.diff.outputs.changed == 'true'
run: node scripts/data-summary.ts "$RUNNER_TEMP/dataset-summary.md"
- name: Open pull request
if: steps.diff.outputs.changed == 'true'
uses: peter-evans/create-pull-request@22a9089034f40e5a961c8808d113e2c98fb63676 # v7.0.11
with:
commit-message: "chore(data): update the embedded datasets"
branch: chore/update-datasets
base: ${{ github.event.repository.default_branch }}
title: "chore(data): update the embedded datasets"
body-path: ${{ runner.temp }}/dataset-summary.md