-
Notifications
You must be signed in to change notification settings - Fork 1
126 lines (110 loc) · 4.62 KB
/
update_data.yaml
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
name: 'Nightly Data Update'
on:
workflow_dispatch:
schedule:
- cron: '00 9 * * *' # once a day at 9:00 AM UTC / 4:00 AM EST
jobs:
# A helpful guide on installing poetry in Github Actions can be found here:
# https://jacobian.org/til/github-actions-poetry/
set_up_environment:
name: Set up environment
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./util
steps:
- name: Check out default branch
uses: actions/checkout@v4
# Cache the poetry installation so it doesn't need to be installed every run.
- name: cache poetry install
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-1.5.1
# Install Poetry and pin the version to 1.5.1.
# Setting `virtualenvs-in-project: true` allows the next step to easily cache it.
# snok/install-poetry is version pinned to v1.3.4 because it works, and setting to v1
# would result in always pulling the latest. Upgrading this version number manually is
# preferred in case of regressions introduced in this dependency.
- uses: snok/[email protected]
with:
version: 1.5.1
virtualenvs-create: true
virtualenvs-in-project: true
# Install dependencies. `--no-root` means "install all dependencies but not the project
# itself", which is what you want to avoid caching _your_ code. The `if` statement
# ensures this only runs on a cache miss.
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'
# Load all the blue banners that have been won since the current year.
load_blue_banners:
name: Load Blue Banners
needs: set_up_environment
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./util
steps:
- name: Check out default branch
uses: actions/checkout@v4
# Load the cached poetry install from the environment set up step.
- name: cache poetry install
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-1.5.1
# Install dependencies. `--no-root` means "install all dependencies but not the project
# itself", which is what you want to avoid caching _your_ code. The `if` statement
# ensures this only runs on a cache miss.
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'
- name: Update blue banner data
run: poetry run python main.py banner --banner_mode=since_current_year --credentials=${{ secrets.DATA_UPDATE_CREDENTIALS }}
# Load all the events and update their data.
load_event_data:
name: Load Event Data
needs: [set_up_environment, load_blue_banners]
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./util
steps:
- name: Check out default branch
uses: actions/checkout@v4
# Load the cached poetry install from the environment set up step.
- name: cache poetry install
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-1.5.1
# Install dependencies. `--no-root` means "install all dependencies but not the project
# itself", which is what you want to avoid caching _your_ code. The `if` statement
# ensures this only runs on a cache miss.
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'
- name: Update event data
run: poetry run python main.py event --event_mode=since_current_year --credentials=${{ secrets.DATA_UPDATE_CREDENTIALS }}
# Refresh the team information in case it has changed. Also update the team data.
load_team_data:
name: Load Team Data
needs: [set_up_environment, load_blue_banners]
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./util
steps:
- name: Check out default branch
uses: actions/checkout@v4
# Load the cached poetry install from the environment set up step.
- name: cache poetry install
uses: actions/cache@v4
with:
path: ~/.local
key: poetry-1.5.1
# Install dependencies. `--no-root` means "install all dependencies but not the project
# itself", which is what you want to avoid caching _your_ code. The `if` statement
# ensures this only runs on a cache miss.
- run: poetry install --no-interaction --no-root
if: steps.cache-deps.outputs.cache-hit != 'true'
- name: Update team data
run: poetry run python main.py team --team_mode=full --credentials=${{ secrets.DATA_UPDATE_CREDENTIALS }}