7
7
tags :
8
8
- " v*"
9
9
branches :
10
- - " master"
11
10
- " develop"
12
11
- " github-actions"
13
12
- " gha-*"
26
25
LibtorrentRasterbar_BUILD_DIR : ${{github.workspace}}/00/build/libtorrent-rasterbar
27
26
LibtorrentRasterbar_INSTALL_DIR : ${{github.workspace}}/00/install/libtorrent-rasterbar
28
27
# ^^
29
- # HACK cache@v3: using '/00/' instead of '/../': Relative pathing '.' and '..' is not allowed.
28
+ # HACK actions/ cache@v3: using '/00/' instead of '/../': Relative pathing '.' and '..' is not allowed.
30
29
LibtorrentRasterbar_VERSION_FILE : ${{github.workspace}}/3rd/libtorrent-rasterbar/include/libtorrent/version.hpp
31
30
Application_VERSION_FILE : ${{github.workspace}}/version
32
31
Changelog_FILE_NAME : ${{github.workspace}}/00/GIT-CHANGELOG.txt
42
41
environment : production
43
42
steps :
44
43
- name : Check out repository code
45
- uses : actions/checkout@v3
44
+ uses : actions/checkout@v4
46
45
47
46
- name : Create WebBrowser Addons
48
47
id : webaddons
@@ -69,13 +68,13 @@ jobs:
69
68
print(f"Addon_Web_Extension_Firefox={ artifact_firefox }", file=f)
70
69
71
70
- name : Upload Chromium Addon
72
- uses : actions/upload-artifact@v3
71
+ uses : actions/upload-artifact@v4
73
72
with :
74
73
name : artifact_chromium
75
74
path : ${{ steps.webaddons.outputs.Addon_Web_Extension_Chromium }}
76
75
77
76
- name : Upload Firefox Addon
78
- uses : actions/upload-artifact@v3
77
+ uses : actions/upload-artifact@v4
79
78
with :
80
79
name : artifact_firefox
81
80
path : ${{ steps.webaddons.outputs.Addon_Web_Extension_Firefox }}
92
91
qt_host : ' linux'
93
92
qt_target : ' desktop'
94
93
qt_arch : ' gcc_64'
95
- qt_tools : ' ' # To build OpenSSLv3: 'tools_opensslv3_src'
94
+ qt_tools : ' '
95
+ qt_modules : ' '
96
96
Qt6_CUSTOM_INSTALL_PATH : " /home/runner/work/ArrowDL/qt/"
97
97
DIRECTIVE_CMAKE_GENERATOR : ' '
98
98
INSTALL_BOOST_PLATFORM_VERSION : ' 18.04' # 18.04, 20.04 Rem: Ubuntu 20.04 doesn't have Boost 1.77.0
@@ -103,6 +103,7 @@ jobs:
103
103
qt_target : ' desktop'
104
104
qt_arch : ' win64_mingw'
105
105
qt_tools : ' tools_opensslv3_x64'
106
+ qt_modules : ' '
106
107
Qt6_CUSTOM_INSTALL_PATH : " D:\\ a\\ ArrowDL\\ qt\\ "
107
108
DIRECTIVE_CMAKE_GENERATOR : ' -G "MinGW Makefiles"'
108
109
INSTALL_BOOST_PLATFORM_VERSION : ' 2019' # 2019, 2022
@@ -115,7 +116,7 @@ jobs:
115
116
116
117
steps :
117
118
- name : Check out repository code
118
- uses : actions/checkout@v3
119
+ uses : actions/checkout@v4
119
120
120
121
# - name: Clean Environment
121
122
# shell: python # otherwise Windows uses Powershell, Linux uses bash
@@ -224,7 +225,7 @@ jobs:
224
225
echo "LibtorrentRasterbar_VERSION: '${{env.LibtorrentRasterbar_VERSION}}'"
225
226
226
227
- name : Cache Libtorrent Static Libraries
227
- uses : actions/cache@v3
228
+ uses : actions/cache@v4
228
229
id : cache-libtorrent
229
230
env :
230
231
LibtorrentRasterbar_VERSION : ${{ steps.getversion.outputs.LibtorrentRasterbar_VERSION }}
@@ -236,7 +237,7 @@ jobs:
236
237
${{env.LibtorrentRasterbar_INSTALL_DIR}}
237
238
238
239
- name : Install Boost
239
- uses :
MarkusJx/[email protected] .3
240
+ uses :
MarkusJx/[email protected] .5
240
241
id : install-boost
241
242
with :
242
243
boost_version : ${{env.BOOST_VERSION}}
@@ -260,8 +261,8 @@ jobs:
260
261
ls -al
261
262
262
263
- name : Install Qt
263
- uses : jurplel/install-qt-action@v3
264
- # Rem: Once installed, ${{env.Qt6_DIR }} is set.
264
+ uses : jurplel/install-qt-action@v4
265
+ # Rem: Once installed, ${{env.QT_ROOT_DIR }} is set.
265
266
# https://ddalcino.github.io/aqt-list-server/
266
267
with :
267
268
aqtversion : ' ==3.1.*'
@@ -271,18 +272,21 @@ jobs:
271
272
target : ${{matrix.qt_target}}
272
273
arch : ${{matrix.qt_arch}}
273
274
tools : ${{matrix.qt_tools}}
275
+ modules : ${{matrix.qt_modules}}
274
276
cache : true
275
-
276
- - name : List files in Qt (if Debug Logging is enabled)
277
- if : runner.debug == '1'
278
- shell : bash
279
- run : cd "${{env.Qt6_DIR}}/../../" && ls -alR
280
- # env.Qt6_DIR
281
- # "/home/runner/work/ArrowDL/qt/Qt/6.3.1/gcc_64"
282
- # "D:\a\ArrowDL\qt\Qt\6.3.1\mingw_64"
283
-
277
+ add-tools-to-path : false # WIP migration v3 to v4
278
+
279
+ # Rem: this step was commented because it's too expensive:
280
+ # - name: List files in Qt (if Debug Logging is enabled)
281
+ # if: runner.debug == '1'
282
+ # shell: bash
283
+ # run: cd "${{env.QT_ROOT_DIR}}/../../" && ls -alR
284
+ # # env.QT_ROOT_DIR
285
+ # # "/home/runner/work/ArrowDL/qt/Qt/6.3.1/gcc_64"
286
+ # # "D:\a\ArrowDL\qt\Qt\6.3.1\mingw_64"
287
+ #
284
288
- name : Find OpenSSL in Qt6
285
- # The thing is that "env.Qt6_DIR " is defined only at runtime, *after* install-qt-action has run.
289
+ # The thing is that "env.QT_ROOT_DIR " is defined only at runtime, *after* install-qt-action has run.
286
290
id : qt6openssl
287
291
shell : python
288
292
# 2 versions present in Ubuntu:
@@ -292,14 +296,14 @@ jobs:
292
296
#
293
297
# * Qt6 version (3.0.12)
294
298
# To build it:
295
- # openssl_dir = os.path.normpath(os.path.join(r"${{env.Qt6_DIR }}", "..", "..", "Tools", "OpenSSLv3", "src"))
299
+ # openssl_dir = os.path.normpath(os.path.join(r"${{env.QT_ROOT_DIR }}", "..", "..", "Tools", "OpenSSLv3", "src"))
296
300
# cd "${{openssl_dir}}"
297
301
# ./config
298
302
# make
299
303
# make test
300
304
# sudo make install_sw
301
305
# Then:
302
- # openssl_dir = os.path.normpath(os.path.join(r"${{env.Qt6_DIR }}", "..", "..", "Tools", "OpenSSLv3", "src"))
306
+ # openssl_dir = os.path.normpath(os.path.join(r"${{env.QT_ROOT_DIR }}", "..", "..", "Tools", "OpenSSLv3", "src"))
303
307
# openssl_lib_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libcrypto.a"))
304
308
# openssl_ssl_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libssl.a"))
305
309
#
@@ -311,7 +315,7 @@ jobs:
311
315
# ssleay32 -> libssl
312
316
313
317
if "${{ matrix.os }}" == "windows-latest":
314
- openssl_dir = os.path.normpath(os.path.join(r"${{env.Qt6_DIR }}", "..", "..", "Tools", "OpenSSLv3", "Win_x64"))
318
+ openssl_dir = os.path.normpath(os.path.join(r"${{env.QT_ROOT_DIR }}", "..", "..", "Tools", "OpenSSLv3", "Win_x64"))
315
319
openssl_lib_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libcrypto.lib"))
316
320
openssl_ssl_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libssl.lib"))
317
321
@@ -338,7 +342,7 @@ jobs:
338
342
if : ${{ steps.cache-libtorrent.outputs.cache-hit != 'true' }}
339
343
env :
340
344
Boost_ROOT : ${{ steps.install-boost.outputs.Boost_ROOT }}
341
- Qt6_Dir2 : ${{env.Qt6_DIR }}
345
+ Qt6_Dir2 : ${{env.QT_ROOT_DIR }}
342
346
DIRECTIVE_CMAKE_GENERATOR : ${{matrix.DIRECTIVE_CMAKE_GENERATOR}}
343
347
BUILD_TESTS : " OFF" # OFF because they take 10+ minutes to build and 776.74 sec to run tests on Ubuntu
344
348
DEPRECATED_FUNCTIONS : " OFF" # OFF to remove deprecated functions
@@ -387,7 +391,7 @@ jobs:
387
391
- name : Configure Project
388
392
env :
389
393
Boost_ROOT : ${{ steps.install-boost.outputs.Boost_ROOT }}
390
- Qt6_Dir2 : ${{env.Qt6_DIR }}
394
+ Qt6_Dir2 : ${{env.QT_ROOT_DIR }}
391
395
OpenSSL_ROOT_DIR : ${{ steps.qt6openssl.outputs.OpenSSL_ROOT_DIR }}
392
396
DIRECTIVE_CMAKE_GENERATOR : ${{matrix.DIRECTIVE_CMAKE_GENERATOR}}
393
397
working-directory : " ${{env.Project_BUILD_DIR}}"
@@ -473,7 +477,7 @@ jobs:
473
477
474
478
- name : Upload Linux Portable
475
479
if : ${{ matrix.os == 'ubuntu-latest' }}
476
- uses : actions/upload-artifact@v3
480
+ uses : actions/upload-artifact@v4
477
481
env :
478
482
TARBALL_NAME : " ${{ steps.getversion.outputs.Application_Linux_NAME }}.tar.gz"
479
483
with :
@@ -501,7 +505,7 @@ jobs:
501
505
502
506
- name : Upload Windows MingGW x64 Portable
503
507
if : ${{ matrix.os == 'windows-latest' }}
504
- uses : actions/upload-artifact@v3
508
+ uses : actions/upload-artifact@v4
505
509
env :
506
510
ZIP_NAME : " ${{ steps.getversion.outputs.Application_Windows_MinGW_x64_NAME }}.zip"
507
511
with :
@@ -510,7 +514,7 @@ jobs:
510
514
511
515
- name : Create NSIS installer
512
516
if : ${{ matrix.os == 'windows-latest' }}
513
- uses : joncloud/makensis-action@v3.7
517
+ uses : joncloud/makensis-action@v4.1
514
518
env :
515
519
Application_VERSION : ${{ steps.getversion.outputs.Application_VERSION }}
516
520
with :
@@ -534,7 +538,7 @@ jobs:
534
538
535
539
- name : Upload Windows 64 Installer
536
540
if : ${{ matrix.os == 'windows-latest' }}
537
- uses : actions/upload-artifact@v3
541
+ uses : actions/upload-artifact@v4
538
542
with :
539
543
name : artifact_windows_64_installer
540
544
path : " ${{env.Project_RELEASE_DIR}}/ArrowDL_x64_Setup.exe"
@@ -555,35 +559,35 @@ jobs:
555
559
556
560
- name : Download Chromium Addon
557
561
continue-on-error : true
558
- uses : actions/download-artifact@v4.1.7
562
+ uses : actions/download-artifact@v4
559
563
with :
560
564
name : artifact_chromium
561
565
path : " ${{env.Project_RELEASE_DIR}}"
562
566
563
567
- name : Download Firefox Addon
564
568
continue-on-error : true
565
- uses : actions/download-artifact@v4.1.7
569
+ uses : actions/download-artifact@v4
566
570
with :
567
571
name : artifact_firefox
568
572
path : " ${{env.Project_RELEASE_DIR}}"
569
573
570
574
- name : Download Linux Portable
571
575
continue-on-error : true
572
- uses : actions/download-artifact@v4.1.7
576
+ uses : actions/download-artifact@v4
573
577
with :
574
578
name : artifact_linux_portable
575
579
path : " ${{env.Project_RELEASE_DIR}}"
576
580
577
581
- name : Download Windows MinGW 64 Portable
578
582
continue-on-error : true
579
- uses : actions/download-artifact@v4.1.7
583
+ uses : actions/download-artifact@v4
580
584
with :
581
585
name : artifact_windows_mingw_64_portable
582
586
path : " ${{env.Project_RELEASE_DIR}}"
583
587
584
588
- name : Download Windows 64 Installer
585
589
continue-on-error : true
586
- uses : actions/download-artifact@v4.1.7
590
+ uses : actions/download-artifact@v4
587
591
with :
588
592
name : artifact_windows_64_installer
589
593
path : " ${{env.Project_RELEASE_DIR}}"
@@ -614,7 +618,7 @@ jobs:
614
618
my_file.write("\r\n")
615
619
616
620
- name : Publish
617
- uses : softprops/action-gh-release@v0.1.15
621
+ uses : softprops/action-gh-release@v2
618
622
# if: startsWith(github.ref, 'refs/tags/') # Limit releases to pushes to tags
619
623
env :
620
624
BRANCH_OR_TAG_NAME : ${{ github.head_ref || github.ref_name }}
0 commit comments