1414env :
1515 # We want to see all warnings for the project, but hide them for Libtorrent:
1616 CXX_FLAGS_Libtorrent : " -Wall -Wextra -Wpedantic -Wvla -Wno-noexcept-type -Wno-format-zero-length -ftemplate-depth=512 -Wno-attributes -Wno-narrowing -Wno-overflow -Wno-redundant-move -Wno-maybe-uninitialized" # -Wa,-mbig-obj"
17- CXX_FLAGS_Project : " -Wall -Wextra -Wpedantic -Wvla -ftemplate-depth=512"
17+ CXX_FLAGS_Project : " -Wall -Wextra -Wpedantic -Wvla -ftemplate-depth=512"
1818
1919 BUILD_TYPE : " Release" # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
2020 BOOST_VERSION : 1.77.0
4141 environment : production
4242 steps :
4343 - name : Check out repository code
44- uses : actions/checkout@v4
44+ uses : actions/checkout@v6
4545
4646 - name : Create WebBrowser Addons
4747 id : webaddons
@@ -68,13 +68,13 @@ jobs:
6868 print(f"Addon_Web_Extension_Firefox={ artifact_firefox }", file=f)
6969
7070 - name : Upload Chromium Addon
71- uses : actions/upload-artifact@v4
71+ uses : actions/upload-artifact@v7
7272 with :
7373 name : artifact_chromium
7474 path : ${{ steps.webaddons.outputs.Addon_Web_Extension_Chromium }}
7575
7676 - name : Upload Firefox Addon
77- uses : actions/upload-artifact@v4
77+ uses : actions/upload-artifact@v7
7878 with :
7979 name : artifact_firefox
8080 path : ${{ steps.webaddons.outputs.Addon_Web_Extension_Firefox }}
@@ -116,9 +116,9 @@ jobs:
116116
117117 steps :
118118 - name : Check out repository code
119- uses : actions/checkout@v4
119+ uses : actions/checkout@v6
120120
121- # - name: Clean Environment
121+ # - name: Clean Environment
122122# shell: python # otherwise Windows uses Powershell, Linux uses bash
123123# run: |
124124# import os
@@ -183,6 +183,10 @@ jobs:
183183 version = my_file.readline()
184184 version = ''.join(version.split())
185185
186+ version_major = None
187+ version_minor = None
188+ version_tiny = None
189+
186190 with open(r"${{env.LibtorrentRasterbar_VERSION_FILE}}", "rt") as my_file:
187191 for line in my_file:
188192 x = regex_major.search(line)
@@ -225,7 +229,7 @@ jobs:
225229 echo "LibtorrentRasterbar_VERSION: '${{env.LibtorrentRasterbar_VERSION}}'"
226230
227231 - name : Cache Libtorrent Static Libraries
228- uses : actions/cache@v4
232+ uses : actions/cache@v5
229233 id : cache-libtorrent
230234 env :
231235 LibtorrentRasterbar_VERSION : ${{ steps.getversion.outputs.LibtorrentRasterbar_VERSION }}
@@ -236,8 +240,24 @@ jobs:
236240 path : |
237241 ${{env.LibtorrentRasterbar_INSTALL_DIR}}
238242
243+ - name : Install NSIS
244+ # Note: Github runners after windows-2022 don't include NSIS. NSIS must be installed manually
245+ # Source: https://github.com/NSIS-Dev/ci-examples/blob/main/.github/workflows/windows-latest.yml
246+ if : ${{ matrix.os == 'windows-latest' }}
247+ uses : repolevedavaj/install-nsis@v1.1.0
248+ with :
249+ nsis-version : ' 3.12'
250+
251+ - name : Print NSIS version
252+ if : ${{ matrix.os == 'windows-latest' }}
253+ run : makensis -VERSION
254+
255+ - name : Print NSIS compile flags
256+ if : ${{ matrix.os == 'windows-latest' }}
257+ run : makensis -HDRINFO
258+
239259 - name : Install Boost
240- uses : MarkusJx/install-boost@v2.4.5
260+ uses : MarkusJx/install-boost@v2.6.0
241261 id : install-boost
242262 with :
243263 boost_version : ${{env.BOOST_VERSION}}
@@ -301,7 +321,7 @@ jobs:
301321 # ./config
302322 # make
303323 # make test
304- # sudo make install_sw
324+ # sudo make install_sw
305325 # Then:
306326 # openssl_dir = os.path.normpath(os.path.join(r"${{env.QT_ROOT_DIR}}", "..", "..", "Tools", "OpenSSLv3", "src"))
307327 # openssl_lib_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libcrypto.a"))
@@ -319,7 +339,7 @@ jobs:
319339 openssl_lib_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libcrypto.lib"))
320340 openssl_ssl_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "libssl.lib"))
321341
322- if "${{ matrix.os }}" == "ubuntu-latest":
342+ elif "${{ matrix.os }}" == "ubuntu-latest":
323343 openssl_dir = os.path.normpath("/usr")
324344 openssl_lib_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "x86_64-linux-gnu", "libcrypto.a"))
325345 openssl_ssl_eay = os.path.normpath(os.path.join(openssl_dir, "lib", "x86_64-linux-gnu", "libssl.a"))
@@ -360,7 +380,7 @@ jobs:
360380 -DBUILD_SHARED_LIBS=OFF
361381 -Dstatic_runtime=ON
362382 -Dbuild_tests=${{env.BUILD_TESTS}}
363- -Ddeprecated-functions=${{env.DEPRECATED_FUNCTIONS}}
383+ -Ddeprecated-functions=${{env.DEPRECATED_FUNCTIONS}}
364384 -DCMAKE_BUILD_TYPE="${{env.BUILD_TYPE}}"
365385 -DOPENSSL_INCLUDE_DIR="${{env.OPENSSL_INCLUDE_DIR}}"
366386 -DLIB_EAY="${{env.OpenSSL_LIB_EAY}}"
@@ -477,7 +497,7 @@ jobs:
477497
478498 - name : Upload Linux Portable
479499 if : ${{ matrix.os == 'ubuntu-latest' }}
480- uses : actions/upload-artifact@v4
500+ uses : actions/upload-artifact@v7
481501 env :
482502 TARBALL_NAME : " ${{ steps.getversion.outputs.Application_Linux_NAME }}.tar.gz"
483503 with :
@@ -505,7 +525,7 @@ jobs:
505525
506526 - name : Upload Windows MingGW x64 Portable
507527 if : ${{ matrix.os == 'windows-latest' }}
508- uses : actions/upload-artifact@v4
528+ uses : actions/upload-artifact@v7
509529 env :
510530 ZIP_NAME : " ${{ steps.getversion.outputs.Application_Windows_MinGW_x64_NAME }}.zip"
511531 with :
@@ -514,7 +534,7 @@ jobs:
514534
515535 - name : Create NSIS installer
516536 if : ${{ matrix.os == 'windows-latest' }}
517- uses : joncloud/makensis-action@v4.1
537+ uses : joncloud/makensis-action@v5.0
518538 env :
519539 Application_VERSION : ${{ steps.getversion.outputs.Application_VERSION }}
520540 with :
@@ -538,7 +558,7 @@ jobs:
538558
539559 - name : Upload Windows 64 Installer
540560 if : ${{ matrix.os == 'windows-latest' }}
541- uses : actions/upload-artifact@v4
561+ uses : actions/upload-artifact@v7
542562 with :
543563 name : artifact_windows_64_installer
544564 path : " ${{env.Project_RELEASE_DIR}}/ArrowDL_x64_Setup.exe"
@@ -618,10 +638,10 @@ jobs:
618638 my_file.write("\r\n")
619639
620640 - name : Publish
621- uses : softprops/action-gh-release@v2
622- # if: startsWith(github.ref, 'refs/tags/') # Limit releases to pushes to tags
641+ uses : softprops/action-gh-release@v3
642+ if : startsWith(github.ref, 'refs/tags/') # Limit releases to pushes to tags
623643 env :
624- BRANCH_OR_TAG_NAME : ${{ github.head_ref || github. ref_name }}
644+ BRANCH_OR_TAG_NAME : ${{ github.ref_name }}
625645 with :
626646 tag_name : ${{env.BRANCH_OR_TAG_NAME}}
627647 name : ArrowDL ${{env.BRANCH_OR_TAG_NAME}}
0 commit comments