Skip to content

Commit 33522ea

Browse files
authored
Try parallel gource build
1 parent e7c2631 commit 33522ea

File tree

1 file changed

+54
-71
lines changed

1 file changed

+54
-71
lines changed

.github/workflows/gource.yml

Lines changed: 54 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -2,107 +2,90 @@ name: Gource
22

33
on:
44
push:
5-
branches:
6-
- gource
7-
- fix-gource
5+
paths:
6+
- .github/workflows/gource.yml
87
schedule:
9-
- cron: '15 3 5 * *'
8+
- cron: '15 3 5 * *'
109
workflow_dispatch:
1110

1211
concurrency:
1312
group: gource
1413
cancel-in-progress: true
1514

1615
jobs:
17-
action:
16+
gource:
1817
if: github.repository == 'JabRef/jabref'
1918
runs-on: ubuntu-latest
19+
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
include:
24+
- title: 'JabRef v6.0 (in development) | more information at contribute.jabref.org'
25+
# Last alpha release 2025-04-27, but want to have some seconds before
26+
start: '2025-04-15'
27+
end: ''
28+
file: 'jabref-v6.0-dev.mp4'
29+
- title: 'JabRef v6.0-alpha2 | more information at contribute.jabref.org'
30+
start: '2024-12-23'
31+
end: '2025-04-27'
32+
file: 'jabref-v6.0-alpha2.mp4'
33+
- title: 'JabRef v6.0-alpha | more information at contribute.jabref.org'
34+
start: '2024-07-10'
35+
end: '2024-12-23'
36+
file: 'jabref-v6.0-alpha.mp4'
37+
- title: 'JabRef v6.x | more information at contribute.jabref.org'
38+
start: '2024-07-10'
39+
end: ''
40+
file: 'jabref-v5.x.mp4'
41+
- title: 'JabRef v5.x | more information at contribute.jabref.org'
42+
start: '2018-06-05'
43+
end: '2024-07-10'
44+
file: 'jabref-v5.x.mp4'
45+
seconds_per_day: '0.5'
46+
- title: 'JabRef | more information at contribute.jabref.org'
47+
start: ''
48+
end: ''
49+
file: 'jabref-complete.mp4'
50+
seconds_per_day: '0.1'
51+
2052
steps:
21-
- name: 'Checkout'
53+
- name: Checkout
2254
uses: actions/checkout@v4
2355
with:
2456
fetch-depth: 0
2557
show-progress: 'false'
26-
- name: 'Development history of current build'
27-
uses: BoundfoxStudios/action-gource@v2
28-
with:
29-
gource_title: 'JabRef v6.0 (in development) | more information at contribute.jabref.org'
30-
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
31-
avatars_auto_fetch: true
32-
gource_seconds_per_day: 1
33-
# Last alpha release 2025-04-27, but want to have some seconds before
34-
gource_start_date: '2025-04-15'
35-
gource_file_filter: 'buildres/csl|\.csl'
36-
- name: 'Store video'
37-
run: |
38-
mkdir gource-videos
39-
mv ./gource/gource.mp4 ./gource-videos/jabref-v6.0-dev.mp4
40-
- name: 'Development history of v6.0-alpha2'
41-
uses: BoundfoxStudios/action-gource@v2
42-
with:
43-
gource_title: 'JabRef v6.0-alpha2 | more information at contribute.jabref.org'
44-
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
45-
avatars_auto_fetch: true
46-
gource_seconds_per_day: 1
47-
gource_start_date: '2024-12-23'
48-
gource_stop_date: '2025-04-27'
49-
gource_file_filter: 'buildres/csl|\.csl'
50-
- name: 'Store video'
51-
run: |
52-
mv ./gource/gource.mp4 ./gource-videos/jabref-v6.0-alpha2.mp4
53-
- name: 'Development history of v6.0-alpha'
54-
uses: BoundfoxStudios/action-gource@v2
55-
with:
56-
gource_title: 'JabRef v6.0-alpha | more information at contribute.jabref.org'
57-
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
58-
avatars_auto_fetch: true
59-
gource_seconds_per_day: 1
60-
gource_start_date: '2024-07-10'
61-
gource_stop_date: '2024-12-23'
62-
gource_file_filter: 'buildres/csl|\.csl'
63-
- name: 'Store video'
64-
run: |
65-
mv ./gource/gource.mp4 ./gource-videos/jabref-v6.0-alpha.mp4
66-
- name: 'Complete development history'
58+
59+
- name: Generate Gource video
6760
uses: BoundfoxStudios/action-gource@v2
6861
with:
69-
gource_title: 'JabRef | more information at contribute.jabref.org'
62+
gource_title: ${{ matrix.gource_config.title }}
7063
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
7164
avatars_auto_fetch: true
72-
# 0.01 leads to a 45 second video for the complete history until end of 2020
73-
# 0.1 leads to a 8 minute video
74-
gource_seconds_per_day: 0.1
65+
gource_start_date: ${{ matrix.gource_config.start }}
66+
gource_stop_date: ${{ matrix.gource_config.end }}
67+
gource_seconds_per_day: ${{ matrix.gource_config.seconds_per_day || '1' }}
7568
gource_file_filter: 'buildres/csl|\.csl'
76-
- name: 'Store video'
69+
70+
- name: Store video
7771
run: |
78-
mv gource/gource.mp4 gource-videos/jabref-complete.mp4
79-
- name: 'Upload gource video'
72+
mkdir -p gource-videos
73+
mv ./gource/gource.mp4 ./gource-videos/${{ matrix.gource_config.file }}
74+
75+
- name: Upload gource video
8076
uses: actions/upload-artifact@v4
8177
with:
82-
name: Gource
83-
path: gource-videos/
78+
name: Gource-${{ matrix.gource_config.file }}
79+
path: gource-videos/${{ matrix.gource_config.file }}
8480
retention-days: 80
85-
- name: Check secrets presence
86-
id: checksecrets
87-
shell: bash
88-
run: |
89-
if [ "$BUILDJABREFPRIVATEKEY" == "" ]; then
90-
echo "secretspresent=NO" >> $GITHUB_OUTPUT
91-
echo "❌ Secret BUILDJABREFPRIVATEKEY not present"
92-
else
93-
echo "secretspresent=YES" >> $GITHUB_OUTPUT
94-
echo "✔️ Secret BUILDJABREFPRIVATEKEY present"
95-
fi
96-
env:
97-
BUILDJABREFPRIVATEKEY: ${{ secrets.buildJabRefPrivateKey }}
81+
9882
- name: Upload to files.jabref.org
99-
if: steps.checksecrets.outputs.secretspresent == 'YES'
10083
uses: Pendect/[email protected]
10184
env:
10285
DEPLOY_KEY: ${{ secrets.buildJabRefPrivateKey }}
10386
with:
10487
flags: -vaz --itemize-changes --stats --partial-dir=/tmp/partial
10588
options: ''
10689
ssh_options: '-p 9922'
107-
src: 'gource-videos/'
90+
src: 'gource-videos/${{ matrix.gource_config.file }}'
10891
dest: [email protected]:/var/www/files.jabref.org/www/gource/

0 commit comments

Comments
 (0)