-
Notifications
You must be signed in to change notification settings - Fork 292
142 lines (119 loc) · 6.05 KB
/
run_poster_generate.yml
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: Run Poster Generate
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
env:
# please change to your own config.
# this actions generate only this year
# If you fork this please change the type to yours below
TYPE: "strava, github, forest, pass" # support strava/gpx/ns/cichang/shanbay/duolingo/issue/leetcode/github/gitlab/kindle/bilibili/wakatime/dota2/forest, Please change the 'pass' it to your own separated by commas
ME: yihong0618
jobs:
sync:
name: Sync
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
# from https://github.com/pdm-project/pdm/blob/main/.github/workflows/ci.yml
- name: Set Variables
id: set_variables
shell: bash
run: |
echo "PY=$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')" >> $GITHUB_OUTPUT
echo "PIP_CACHE=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: Cache PIP
uses: actions/cache@v3
with:
path: ${{ steps.set_variables.outputs.PIP_CACHE }}
key: ${{ runner.os }}-pip-${{ steps.set_variables.outputs.PY }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
if: steps.pip-cache.outputs.cache-hit != 'true'
- name: Run sync ns script
if: contains(env.TYPE, 'ns')
run: |
python -m github_poster ns --ns_session_token ${{ secrets.NS_SESSION_TOKEN }} --ns_device_id ${{ secrets.NS_DEVICE_ID }} --me ${{ env.ME }}
- name: Run sync strava script
if: contains(env.TYPE, 'strava')
run: |
python -m github_poster strava --strava_client_id ${{ secrets.STRAVA_CLIENT_ID }} --strava_client_secret ${{ secrets.STRAVA_CLIENT_SECRET }} --strava_refresh_token ${{ secrets.STRAVA_CLIENT_REFRESH_TOKEN }} --me ${{ env.ME }} --year 2012-$(date +"%Y") --is-circular
- name: Run sync shanbay script
if: contains(env.TYPE, 'shanbay')
run: |
python -m github_poster shanbay --shanbay_user_name ${{ secrets.SHANBAY_USER_NAME }} --special-color1 '#33C6A4' --special-color2 '#33C6A4' --me ${{ env.ME }}
- name: Run sync duolingo script
if: contains(env.TYPE, 'duolingo')
run: |
python -m github_poster duolingo --duolingo_user_name ${{ secrets.DUOLINGO_USER_NAME }} --duolingo_jwt ${{ secrets.DUOLINGO_JWT }} --me ${{ env.ME }}
- name: Run sync cichang script
if: contains(env.TYPE, 'cichang')
run: |
python -m github_poster cichang --cichang_user_name ${{ secrets.CICHANG_USER_NAME }} --password ${{ secrets.CICHANG_PASSWORD }} --me ${{ env.ME }}
- name: Run sync forest script
if: contains(env.TYPE, 'forest')
run: |
python -m github_poster forest --forest_email ${{ secrets.FOREST_EMAIL }} --forest_password ${{ secrets.FOREST_PASSWORD }} --year $(date +"%Y") --cn
- name: Run sync issue script
if: contains(env.TYPE, 'issue')
run: |
python -m github_poster issue --issue_number ${{ secrets.ISSUE_NUMBER }} --repo_name ${{ secrets.REPO_NAME }} --github_token ${{ secrets.G_T }} --me ${{ env.ME }}
- name: Run sync leetcode script
if: contains(env.TYPE, 'leetcode')
run: |
python -m github_poster leetcode --leetcode_cookie "${{ secrets.LEETCODE_COOKIE }}" --me ${{ env.ME }}
- name: Run sync github script
if: contains(env.TYPE, 'github')
run: |
python -m github_poster github --github_user_name ${{ secrets.G_USER_NAME }} --me ${{ env.ME }} --with-animation --stand-with-ukraine
- name: Run sync gitlab script
if: contains(env.TYPE, 'gitlab')
run: |
python -m github_poster gitlab --gitlab_user_name ${{ secrets.GITLAB_USER_NAME }} --me ${{ env.ME }} --with-animation
- name: Run sync kindle script
if: contains(env.TYPE, 'kindle')
run: |
python -m github_poster kindle --kindle_cookie '${{ secrets.KINDLE_COOKIE }} --me ${{ env.ME }}
- name: Run sync bilibili script
if: contains(env.TYPE, 'bilibili')
run: |
python3 -m github_poster bilibili --bilibili_cookie "${{ secrets.BILIBILI_COOKIE }}" --me ${{ env.ME }}
- name: Run sync wakatime script
if: contains(env.TYPE, 'wakatime')
run: |
python3 -m github_poster wakatime --wakatime_key "${{ secrets.WAKATIME_KEY }}" --me ${{ env.ME }}
- name: Run sync dota2 script
if: contains(env.TYPE, 'dota2')
run: |
python3 -m github_poster dota2 --dota2_id "${{ secrets.DOTA2_ID }}" --me ${{ env.ME }}
- name: Run sync notion script
if: contains(env.TYPE, 'notion')
run: |
python3 -m github_poster notion --notion_token "${{ secrets.NOTION_TOKEN }}" --database_id "${{ secrets.NOTION_DATABASE_ID }}" --prop_name "${{ secrets.NOTION_PROP_NAME }}" --me ${{ env.ME }}
- name: Run sync openlanguage script
if: contains(env.TYPE, 'openlanguage')
run: |
python3 -m github_poster openlanguage --openlanguage_user_name "${{ secrets.OPENLANGUAGE_USER_NAME }}" --openlanguage_password "${{ secrets.OPENLANGUAGE_PASSWORD }}" --me ${{ env.ME }}
# change the types to yours
- name: Run sync multiple script
if: contains(env.TYPE, 'multiple')
run: |
python3 -m github_poster multiple --types "github" --github_user_name ${{ secrets.G_USER_NAME }} --year 2019-$(date +"%Y")
- name: Mv svg files to examples
# only for me to show
if: github.repository_owner == 'yihong0618'
run: mv OUT_FOLDER/*.svg examples/
- name: Push new postger
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add .
git commit -m 'update new poster' || echo "nothing to commit"
git push || echo "nothing to push"