@@ -2,107 +2,90 @@ name: Gource
22
33on :
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
1211concurrency :
1312 group : gource
1413 cancel-in-progress : true
1514
1615jobs :
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'
1008310184 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