Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
3595626
Update Changelog
sledgehammer999 Oct 18, 2020
b925cff
Bump to 4.3.0
sledgehammer999 Oct 18, 2020
34e6b73
Close parentheses in Changelog entry
sledgehammer999 Oct 18, 2020
53fb622
NSIS: Update Italian translation
bovirus Oct 19, 2020
e3c2266
Update Changelog
sledgehammer999 Oct 22, 2020
f09ee1b
Bump to 4.3.0.1
sledgehammer999 Oct 22, 2020
260e48b
Correct the Changelog entry
sledgehammer999 Oct 22, 2020
83ce285
Disallow CMake build failures on Travis
NotTsunami Sep 24, 2020
539b3b7
Remove branches block from Travis config
NotTsunami Sep 24, 2020
f49f5ba
Place WebUI RSS description in sandboxed iframe
seprode Oct 19, 2020
891c471
Fix typo in connection.cpp
adem4ik Oct 20, 2020
f02b65b
Fix typos
Chocobo1 Oct 20, 2020
59afc7c
Avoid settings being reset via WebAPI
Chocobo1 Oct 21, 2020
f919d4f
Fix toggling advanced option in WebUI
thalieht Oct 21, 2020
9171dff
Prevent resume data to be saved for removed torrent
glassez Oct 22, 2020
9d27eb3
Move qHash helper for libtorrent types to its own file
Chocobo1 Oct 21, 2020
ca776c3
Fix class name
Chocobo1 Oct 23, 2020
6215783
Remove redundant checking before remove
Chocobo1 Oct 23, 2020
6ea3acd
Expose contentPath in WebAPI torrents/info
FranciscoPombal Oct 23, 2020
102d628
Fix the issue that IPv6 address can't be banned
Oct 20, 2020
c5ef1a0
Update "GitHub Actions" CI actions versions
FranciscoPombal Oct 25, 2020
a8911f8
Clarify protocol choice label
FranciscoPombal Oct 24, 2020
fe0ea84
Fix crash when clicked outside the table of torrent content view
jagannatharjun Oct 25, 2020
36575b2
Improve compatibility with libtorrent 2.0
Chocobo1 Oct 25, 2020
d83f09e
Migrate away from deprecated functions in libtorrent 2.0
Chocobo1 Oct 25, 2020
7e89893
Add support for tracker scrape in libtorrent 2.0
Chocobo1 Oct 25, 2020
40d7a53
Implement ProgressBarDelegate
jagannatharjun Oct 18, 2020
6fc50f4
Use ProgressBarDelegate for drawing progressbar in TransferListView
jagannatharjun Oct 18, 2020
2b6e195
Use ProgressbarDelegate for drawing progressbar in PropListDelegate
jagannatharjun Oct 24, 2020
5e7d7c2
Don't resume "paused" torrents when checking by libtorrent
glassez Oct 26, 2020
5730e91
Fix torrent state calculation
glassez Oct 26, 2020
f82a405
Remove outdated information
Chocobo1 Oct 28, 2020
87e1661
Rename TR_PROGRESS header in TransferList
jagannatharjun Oct 28, 2020
3e540b3
Align integer data to right in torrent content view
jagannatharjun Oct 28, 2020
88a90ed
Fix mingw64 build error
NotTsunami Oct 29, 2020
7d3ecfa
Allow adding torrents using "Paste" key sequence
Chocobo1 Oct 30, 2020
bc20cf9
Remove redundant semicolon
Chocobo1 Nov 1, 2020
baa609b
Remove unused function
Chocobo1 Nov 1, 2020
1d4af50
Encode files in UTF-8 without BOM
FranciscoPombal Aug 5, 2020
1e7f792
Fix trailing whitespace in multiple files
FranciscoPombal Aug 5, 2020
f92c4c0
Fix extra/missing trailing new lines in files
FranciscoPombal Aug 5, 2020
2179148
Make sure there are no empty files
FranciscoPombal Oct 27, 2020
38efff4
Add GitHub Actions file health workflow
FranciscoPombal Oct 26, 2020
3edaaa3
Handle torrent "paused" state at application level
glassez Apr 19, 2020
b6ab2ab
Don't use deprecated torrent state "allocating"
Chocobo1 Nov 11, 2020
8e19f66
Update .desktop file translations
sledgehammer999 Oct 24, 2020
7092a98
Add Latgalian translation
sledgehammer999 Oct 24, 2020
d3f4645
Update dutch.nsi
RockyTDR Nov 17, 2020
1728c16
Improve coding style
glassez Nov 16, 2020
5fcfcc9
Fix confusion in date format description (#1)
RockyTDR Nov 21, 2020
7515afc
Pin github actions scripts to major versions
Chocobo1 Nov 21, 2020
c66cf43
Sync translations from Transifex and run lupdate
sledgehammer999 Nov 24, 2020
0392bfc
Update Changelog
sledgehammer999 Nov 24, 2020
5876886
Bump to 4.3.1
sledgehammer999 Nov 24, 2020
8bee69c
NSIS: Update Russian translation
adem4ik Nov 25, 2020
8c48bf4
Fix wrong data used for comparison
Chocobo1 Nov 25, 2020
f266184
Add ability to use 'shift+delete' to delete torrents in WebUI
Chocobo1 Nov 26, 2020
ac413c7
Update to use latest macOS image for TravisCI
Chocobo1 Nov 27, 2020
618ce33
Detect .ts file issues with file health workflow
FranciscoPombal Nov 2, 2020
6e924b6
Fix availability value
Chocobo1 Nov 29, 2020
61aa4d9
Fix coding style
Chocobo1 Nov 29, 2020
dd5b7ba
Avoid potential rounding to integer issues
Chocobo1 Nov 29, 2020
67b1789
Simplify the calculation of speed graph scale
Chocobo1 Nov 29, 2020
7f47ac1
Add libtorrent 2.0 to TravisCI script
Chocobo1 Nov 18, 2020
47e9c5a
Fix status of torrents without metadata
sledgehammer999 Nov 28, 2020
894446d
Don't try to remove folders for a torrent without metadata
sledgehammer999 Nov 29, 2020
7c10dba
WebAPI: allow to attach tags while adding torrents
jesec Nov 30, 2020
4a183dd
WebAPI: bump version to 2.6.2
jesec Nov 30, 2020
5786c7f
Lift upper limit of "Max concurrent HTTP announces" option
Chocobo1 Dec 1, 2020
fc2be60
Add links to libtorrent documentation
Chocobo1 Dec 1, 2020
eb657ec
Move "embedded tracker" options to qbt section
Chocobo1 Dec 1, 2020
b2847b2
Update URL to libtorrent settings
Chocobo1 Dec 1, 2020
8074318
Remove unnecessary restriction on input length
Chocobo1 Dec 2, 2020
9b4f3fc
Clean up metadata downloading code
glassez Nov 21, 2020
953b6fd
Properly handle "Append extension" option changing
glassez Nov 21, 2020
3896642
Don't rewrite TorrentInfo instance if it's valid
glassez Nov 29, 2020
28844ef
Search for existing files in separate thread
glassez Dec 2, 2020
817e9c4
Fix method invocation on Qt < 5.10
FranciscoPombal Dec 4, 2020
73b18d7
Update minimum depedency versions
FranciscoPombal Dec 4, 2020
f94f4d2
Drop support for building with libtorrent < 1.2.11
glassez Dec 4, 2020
7cfe68f
Bump dependency versions in CI
FranciscoPombal Dec 4, 2020
5f34d15
Fix received metadata handling
glassez Dec 2, 2020
177ac32
Use the correct type when referring to info hash
Chocobo1 Nov 30, 2020
2fe698e
CMake: detect required header for STACKTRACE feature
FranciscoPombal Dec 6, 2020
5a96e1f
Use Qt provided forward declaration header
Chocobo1 Dec 9, 2020
487eb55
Fix coding style
Chocobo1 Dec 9, 2020
926012c
Fix bug of torrents don't save "stopped" state
glassez Dec 11, 2020
e4e55d2
Migrate away from deprecated QVariant comparison operators
Chocobo1 Dec 10, 2020
7de983b
Add operator< for InfoHash class
Chocobo1 Dec 10, 2020
422489e
Revise Utils::Version comparison operators
Chocobo1 Dec 11, 2020
e5d7738
Update "HTTPS tracker validation" enablement conditional
Chocobo1 Dec 1, 2020
0b42425
Add support for `allow_idna` option
Chocobo1 Dec 1, 2020
fdc64d9
Use #pragma once instead of include guards
FranciscoPombal Dec 10, 2020
6e267f8
Update coding guidelines policy for include guards
FranciscoPombal Dec 14, 2020
042238d
NSIS: Fixed italian.nsi after 4.3.0.1 update
alessandrosimonelli Dec 14, 2020
73c8b77
Migrate away from deprecated QVariant comparison operators
Chocobo1 Dec 13, 2020
2c2bb14
Fix bug of "move storage job" can be performed multiple times
glassez Dec 21, 2020
77909e0
Don't use default CFLAGS, CXXFLAGS from autotools
Chocobo1 Dec 23, 2020
a56e629
Fix wrong JSON type returned
Chocobo1 Dec 24, 2020
22f3abc
Initialize stat indices to -1
Chocobo1 Dec 24, 2020
ef92c17
Don't use removed stat metric in libtorrent 2.0
Chocobo1 Dec 24, 2020
7885941
Use a helper function to look up stat indexes
Chocobo1 Dec 24, 2020
b8f1142
Improve torrent name handling
glassez Dec 10, 2020
cd0b6d9
Extract enum serialization/parsing functions
glassez Dec 14, 2020
c08ec1a
Allow to add root folder to torrent content
glassez Dec 10, 2020
faf6e82
Sync translations from Transifex and run lupdate
sledgehammer999 Dec 26, 2020
4ee17a7
Update Changelog
sledgehammer999 Dec 26, 2020
abb854a
Bump to 4.3.2
sledgehammer999 Dec 26, 2020
b9602cc
Convert existing speed dialog to global + alt global limits only
thalieht Aug 25, 2019
f9ee5bd
Increase maximum global speed limits from ~1 GiB/s to ~2 GiB/s
thalieht Aug 26, 2019
442f0df
Save fastresume when setting torrent speed limits
thalieht Nov 18, 2020
8cd0a7a
Group several torrent options into one dialog
thalieht Nov 29, 2020
49e54a5
Capitalize locale names
Chocobo1 Dec 28, 2020
dd3a8d5
Fix folder name extraction functions
glassez Dec 17, 2020
b418f65
Improve content file/folder names handling
glassez Dec 17, 2020
2c4e04e
Don't call non-existent elements
glassez Dec 29, 2020
26ce187
Don't call non-existent elements
glassez Dec 30, 2020
ac81674
Add new languages
sledgehammer999 Dec 27, 2020
d908227
Add a thin layer around SettingsStorage class
Chocobo1 Dec 28, 2020
ec420f6
Bump project requirement to C++17
Chocobo1 Dec 19, 2020
1c18494
Remove unused define
Chocobo1 Dec 19, 2020
fb4bf94
Use function-pointer based signal-slot connection
Chocobo1 Dec 19, 2020
ad79fc8
Migrate away from deprecated `std::iterator` class
Chocobo1 Dec 19, 2020
a3b8f68
Migrate away from deprecated `AC_OUTPUT` macro
Chocobo1 Dec 29, 2020
7cde969
Exclude configure script for "trailing newlines" checking
Chocobo1 Dec 31, 2020
7bea10f
Update "Keep top-level folder" in WebUI options
thalieht Dec 30, 2020
230fedf
Move parsing of TriStateBool to a static class function
Chocobo1 Dec 31, 2020
bd8b06c
Drop notification about move storage finished
glassez Dec 31, 2020
e555821
Drop notification about move storage failed
glassez Dec 31, 2020
86579ca
Extract torrent reloading logic into separate method
glassez Jan 1, 2021
7297060
Reload "missing files" torrent instead of re-checking
glassez Jan 1, 2021
8608d7b
Improve load data behavior of SettingsStorage class
Chocobo1 Jan 1, 2021
d7afad8
Revise SettingsStorage store/load value interface
Chocobo1 Jan 1, 2021
c6d9ab6
Remember dialog sizes
Chocobo1 Dec 28, 2020
5a1c4e7
Revise store/load state operations of Options Dialog
Chocobo1 Jan 1, 2021
e7e3f6a
Don't use deprecated locale name
Chocobo1 Jan 1, 2021
dc464d4
Use nested namespaces definition syntax
glassez Jan 3, 2021
dab32f2
Use std::optional instead of boost::optional
glassez Jan 2, 2021
9317071
Change parseBool() to return optional bool value
glassez Jan 3, 2021
74bf3af
Use std::optional<bool> instead of custom TriStateBool
glassez Jan 2, 2021
58ac076
Use single parameter to accept torrent source
glassez Jan 3, 2021
cb477f9
QMake: Raise minimal macOS target version
glassez Jan 4, 2021
4563b11
Bump copyright year
sledgehammer999 Jan 5, 2021
77f4e6c
Generate version header when configuring project
Chocobo1 Jan 4, 2021
e4c177f
Correctly set items flags in TorrentContentModel
jagannatharjun Jan 5, 2021
7fe7c6c
Use c++1z to enable c++17
sledgehammer999 Jan 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@

### Extra info(if any)
(type here)

38 changes: 19 additions & 19 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ on:
branches: [ master ]

env:
# Qt: 5.15.0
# libtorrent: RC_1_2 HEAD, 1.2.10
VCPKG_COMMIT: 32eccc18191fbb57b159784a1724d2d00613ae82
# Qt: 5.15.1
# libtorrent: RC_1_2 HEAD, 1.2.11
VCPKG_COMMIT: 133051b793486ef14e67e9d1f48c9cfe64dc127e
VCPKG_DEST_MACOS: /Users/runner/qbt_tools/vcpkg
VCPKG_DEST_WIN: C:\qbt_tools\vcpkg
UBUNTU_LIBTORRENT_VERSION: libtorrent-1.2.10
LIBTORRENT_VERSION_TAG: v1.2.11

jobs:

Expand All @@ -38,7 +38,7 @@ jobs:

steps:
- name: checkout repository
uses: actions/checkout@v2.3.2
uses: actions/checkout@v2

- name: install all build dependencies except libtorrent from Ubuntu repos
run: |
Expand All @@ -52,7 +52,7 @@ jobs:
- name: install libtorrent from source
run: |
git clone https://github.com/arvidn/libtorrent && cd libtorrent
git checkout ${{ env.UBUNTU_LIBTORRENT_VERSION }}
git checkout ${{ env.LIBTORRENT_VERSION_TAG }}
cmake -B cmake-build-dir -G "Ninja" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-Ddeprecated-functions=OFF \
Expand All @@ -70,7 +70,7 @@ jobs:
cmake --build build

- name: upload artifact as zip
uses: actions/upload-artifact@v2.1.3
uses: actions/upload-artifact@v2
with:
name: qBittorrent-CI-Ubuntu_${{ matrix.os }}-${{ matrix.qbt_gui }}
path: |
Expand All @@ -92,15 +92,15 @@ jobs:

steps:
- name: checkout repository
uses: actions/checkout@v2.3.2
uses: actions/checkout@v2

# - ninja is needed for building qBittorrent (because it's preferrable, not a hard requirement)
- name: install additional required packages with chocolatey
run: |
choco install ninja

- name: setup vcpkg (cached, if possible)
uses: lukka/run-vcpkg@v3.3
uses: lukka/run-vcpkg@v4
with:
vcpkgDirectory: ${{ env.VCPKG_DEST_WIN }}
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }}
Expand Down Expand Up @@ -134,7 +134,7 @@ jobs:

# NOTE: this is necessary to correctly find and use cl.exe with the Ninja generator for now
- name: setup devcmd
uses: ilammy/msvc-dev-cmd@v1.3.0
uses: ilammy/msvc-dev-cmd@v1

- name: build qBittorrent
shell: cmd
Expand All @@ -149,7 +149,7 @@ jobs:
cmake --build build

- name: upload artifact as zip
uses: actions/upload-artifact@v2.1.3
uses: actions/upload-artifact@v2
with:
name: qBittorrent-CI-Windows_x64-static-release
path: |
Expand All @@ -175,17 +175,17 @@ jobs:

steps:
- name: checkout repository
uses: actions/checkout@v2.3.2
uses: actions/checkout@v2

# - ninja is needed for building qBittorrent (because it's preferrable, not a hard requirement)
# - pkg-config is needed for some vcpkg installations
# - automake is needed for the installation the vcpkg installation of fontconfig, a dependency of qt5-base
- name: install additional required packages with homebrew
shell: bash
run: |
brew install ninja pkg-config
brew install automake ninja

- name: setup vcpkg (cached, if possible)
uses: lukka/run-vcpkg@v3.3
uses: lukka/run-vcpkg@v4
with:
vcpkgDirectory: ${{ env.VCPKG_DEST_MACOS }}
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }}
Expand All @@ -197,13 +197,13 @@ jobs:
Copy-Item ${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-osx.cmake `
${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake
Add-Content ${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake `
-Value "set(VCPKG_BUILD_TYPE release)"
-Value "set(VCPKG_BUILD_TYPE release)","set(VCPKG_OSX_DEPLOYMENT_TARGET 10.15)"

# NOTE: Avoids a libtorrent ABI issue. See https://github.com/arvidn/libtorrent/issues/4965
- name: force AppleClang to compile libtorrent with C++14
- name: force AppleClang to compile libtorrent with C++17
run: |
(Get-Content -path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake).Replace( `
'${FEATURE_OPTIONS}', '${FEATURE_OPTIONS} -DCMAKE_CXX_STANDARD=14') `
'${FEATURE_OPTIONS}', '${FEATURE_OPTIONS} -DCMAKE_CXX_STANDARD=17') `
| Set-Content -Path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake

- name: install dependencies via vcpkg
Expand Down Expand Up @@ -234,7 +234,7 @@ jobs:
cmake --build build

- name: upload artifact as zip
uses: actions/upload-artifact@v2.1.3
uses: actions/upload-artifact@v2
with:
name: qBittorrent-CI-macOS_x64-static-release_${{ matrix.qbt_gui }}
path: |
Expand Down
85 changes: 85 additions & 0 deletions .github/workflows/file_health.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/usr/bin/env zsh

set -o nounset

# Assumption: file names don't contain `:` (for the `cut` invocation).
# Safe to assume, as such a character in a filename would cause trouble on Windows, a platform we support

# any regression turn this non-zero
regressions=0

# exclusions (these are just grep extended regular expressions to match against paths relative to the root of the repository)
exclusions_nonutf8='(.*(7z|gif|ic(ns|o)|png|qm|zip))'
exclusions_bom='src/base/unicodestrings.h'
exclusions_tw='(*.ts)|src/webui/www/private/scripts/lib/mootools-1.2-more.js'
exclusions_trailing_newline='configure'
exclusions_no_lf='(*.ts)|(.*svg)|compile_commands.json|src/webui/www/private/scripts/lib/mootools-1.2-(core-yc.js|more.js)'

echo -e "\n*** Detect files not encoded in UTF-8 ***\n"

find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
| grep -v -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
| grep -E -v -e "${exclusions_nonutf8}" \
| tee >(echo -e "--> Files not encoded in UTF-8: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

echo -e "\n*** Detect files encoded in UTF-8 with BOM ***\n"

grep --exclude-dir={.git,build} -rIl $'\xEF\xBB\xBF' | sort \
| grep -E -v -e "${exclusions_bom}" \
| tee >(echo -e "--> Files encoded in UTF-8 with BOM: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

echo -e "\n*** Detect usage of CR byte ***\n"

grep --exclude-dir={.git,build} -rIlU $'\x0D' | sort \
| tee >(echo -e "--> Usage of CR byte: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

echo -e "\n*** Detect trailing whitespace in lines ***\n"

grep --exclude-dir={.git,build} -rIl "[[:blank:]]$" | sort \
| grep -E -v -e "${exclusions_tw}" \
| tee >(echo -e "--> Trailing whitespace in lines: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0';
regressions=$((regressions+$?))

echo -e "\n*** Detect too many trailing newlines ***\n"

find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
| grep -E -v -e "${exclusions_trailing_newline}" \
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c2 "my_input" | hexdump -C | grep "0a 0a")" && echo "my_input"' \
| tee >(echo -e "--> Too many trailing newlines: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

echo -e "\n*** Detect no trailing newline ***\n"

find . -path ./build -prune -false -o -path ./.git -prune -false -o -type f -exec file --mime {} \; | sort \
| grep -e "charset=us-ascii" -e "charset=utf-8" | cut -d ":" -f 1 \
| grep -E -v -e "${exclusions_no_lf}" \
| xargs -L1 -I my_input bash -c 'test "$(tail -q -c1 "my_input" | hexdump -C | grep "0a")" || echo "my_input"' \
| tee >(echo -e "--> No trailing newline: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

echo -e "\n*** Detect translation closing tag in new line ***\n"

grep --exclude-dir={.git,build} -nri "^</translation>" | sort \
| cut -d ":" -f 1,2 \
| tee >(echo -e "--> Translation closing tag in new line: found" "$(wc -l < /dev/stdin)" "regression(s)\n") \
| xargs -I my_input -0 bash -c 'echo "my_input"; test "$(echo -n "my_input" | wc -l)" -eq 0'
regressions=$((regressions+$?))

if [ "$regressions" -ne 0 ]; then
regressions=1
echo "\nFile health regressions found. Please fix them (or add them as exclusions)."
else
echo "All OK, no file health regressions found."
fi

exit $regressions;
27 changes: 27 additions & 0 deletions .github/workflows/file_health.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: GitHub Actions file health check

on:
push:
branches: [ '**' ]
pull_request:
types: [edited, opened, reopened, synchronize]
branches: [ '**' ]

jobs:
check_file_health:
name: Check file health

runs-on: ubuntu-20.04

steps:
- name: checkout repository
uses: actions/checkout@v2

- name: install zsh
run: |
sudo apt update
sudo apt install zsh

- name: run check file health script
run: |
./.github/workflows/file_health.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ src/qbittorrent
src/qbittorrent-nox
src/release
src/debug
src/base/version.h
CMakeLists.txt.user*
qbittorrent.pro.user*
conf.pri
Expand Down
57 changes: 34 additions & 23 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ os:
- linux
- osx

dist: bionic
dist: focal
osx_image: xcode12.2

env:
matrix:
Expand All @@ -16,15 +17,10 @@ env:
- secure: "OI9CUjj4lTb0HwwIZU5PbECU3hLlAL6KC8KsbwohG8/O3j5fLcnmDsK4Ad9us5cC39sS11Jcd1kDP2qRcCuST/glVNhLkcjKkiQerOfd5nQ/qL4JYfz/1mfP5mdpz9jHKzpLUIG+TXkbSTjP6VVmsb5KPT+3pKEdRFZB+Pu9+J8="
- coverity_branch: coverity_scan

matrix:
allow_failures:
- env: libt_branch=RC_1_2 gui=true build_system=cmake
- env: libt_branch=RC_1_2 gui=false build_system=cmake

branches:
except:
- search_encoding_windows
- v2_9_x
jobs:
include:
- env: libt_branch=RC_2_0 gui=true build_system=qmake
os: linux

notifications:
email:
Expand All @@ -49,8 +45,7 @@ addons:
apt:
sources:
# sources list: https://github.com/travis-ci/apt-source-safelist/blob/master/ubuntu.json
- sourceline: 'ppa:qbittorrent-team/qbt-libtorrent-travisci'
- sourceline: 'deb https://apt.kitware.com/ubuntu/ bionic main'
- sourceline: 'deb https://apt.kitware.com/ubuntu/ focal main'
key_url: 'https://apt.kitware.com/keys/kitware-archive-latest.asc'
packages:
# packages list: https://github.com/travis-ci/apt-package-safelist/blob/master/ubuntu-trusty
Expand Down Expand Up @@ -79,6 +74,8 @@ before_install:
# TravisCI installs its own cmake to another location which ovverides other installations
# if they don't call the new binary directly
alias cmake="/usr/bin/cmake"

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
fi
- |
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
Expand Down Expand Up @@ -124,20 +121,34 @@ install:
ccache -V && ccache --show-stats && ccache --zero-stats
fi
- |
if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then
# Will install latest 1.2.x daily build from the PPA
sudo apt-get -y install libtorrent-rasterbar-dev
fi
- |
if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "osx" ]; then
# building libtorrent manually should be faster than using the official bottle
# because the bottle will also pull in a lot of updated dependencies and prolong the overall time
if [ "$libt_branch" = "RC_1_2" ]; then
pushd "$HOME"
git clone --single-branch --branch RC_1_2 https://github.com/arvidn/libtorrent.git
cd libtorrent
git checkout tags/v1.2.10

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 -Ddeprecated-functions=OFF -DOPENSSL_ROOT_DIR="$openssl_root_path" ./
git checkout tags/v1.2.11

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=17 \
-Ddeprecated-functions=OFF \
-DOPENSSL_ROOT_DIR="$openssl_root_path" \
./
make
sudo make install
popd
elif [ "$libt_branch" = "RC_2_0" ]; then
pushd "$HOME"
git clone --single-branch --branch RC_2_0 https://github.com/arvidn/libtorrent.git
cd libtorrent
git checkout tags/v2.0.1
git submodule update --init --recursive

cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=17 \
-Ddeprecated-functions=ON \
-DOPENSSL_ROOT_DIR="$openssl_root_path" \
./
make
sudo make install
popd
Expand Down
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Images Authors:

* file: src/icons/oxygen/checked.png
copyright: Victor Buinsky <allok.victor@gmail.com>

* file: src/icons/skin/ratio.png
copyright: Fatcow Web Hosting
license: Creative Commons Attribution 3.0 License
Expand Down
Loading