Skip to content

Commit 54347ee

Browse files
committed
Merge branch 'master' of https://github.com/rclone/rclone
2 parents ec3fc47 + aab2935 commit 54347ee

File tree

369 files changed

+28446
-8176
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

369 files changed

+28446
-8176
lines changed

.github/ISSUE_TEMPLATE/Bug.md

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,42 @@ about: Report a problem with rclone
55

66
<!--
77
8-
Welcome :-) We understand you are having a problem with rclone; we want to help you with that!
8+
We understand you are having a problem with rclone; we want to help you with that!
99
10-
If you've just got a question or aren't sure if you've found a bug then please use the rclone forum:
10+
**STOP and READ**
11+
**YOUR POST WILL BE REMOVED IF IT IS LOW QUALITY**:
12+
Please show the effort you've put in to solving the problem and please be specific.
13+
People are volunteering their time to help! Low effort posts are not likely to get good answers!
14+
15+
If you think you might have found a bug, try to replicate it with the latest beta (or stable).
16+
The update instructions are available at https://rclone.org/commands/rclone_selfupdate/
17+
18+
If you can still replicate it or just got a question then please use the rclone forum:
1119
1220
https://forum.rclone.org/
1321
14-
instead of filing an issue for a quick response.
22+
for a quick response instead of filing an issue on this repo.
23+
24+
If nothing else helps, then please fill in the info below which helps us help you.
1525
16-
If you think you might have found a bug, please can you try to replicate it with the latest beta?
26+
**DO NOT REDACT** any information except passwords/keys/personal info.
1727
18-
https://beta.rclone.org/
19-
20-
If you can still replicate it with the latest beta, then please fill in the info below which makes our lives much easier. A log with -vv will make our day :-)
28+
You should use 3 backticks to begin and end your paste to make it readable.
29+
30+
Make sure to include a log obtained with '-vv'.
31+
32+
You can also use '-vv --log-file bug.log' and a service such as https://pastebin.com or https://gist.github.com/
2133
2234
Thank you
2335
2436
The Rclone Developers
2537
2638
-->
2739

40+
#### The associated forum post URL from `https://forum.rclone.org`
41+
42+
43+
2844
#### What is the problem you are having with rclone?
2945

3046

@@ -37,7 +53,7 @@ The Rclone Developers
3753

3854

3955

40-
#### Which cloud storage system are you using? (e.g. Google Drive)
56+
#### Which cloud storage system are you using? (e.g. Google Drive)
4157

4258

4359

@@ -48,3 +64,11 @@ The Rclone Developers
4864
#### A log from the command with the `-vv` flag (e.g. output from `rclone -vv copy /tmp remote:tmp`)
4965

5066

67+
68+
<!--- Please keep the note below for others who read your bug report. -->
69+
70+
#### How to use GitHub
71+
72+
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are affected by the same issue.
73+
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
74+
* Subscribe to receive notifications on status change and new comments.

.github/ISSUE_TEMPLATE/Feature.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ about: Suggest a new feature or enhancement for rclone
77
88
Welcome :-)
99
10-
So you've got an idea to improve rclone? We love that! You'll be glad to hear we've incorporated hundreds of ideas from contributors already.
10+
So you've got an idea to improve rclone? We love that!
11+
You'll be glad to hear we've incorporated hundreds of ideas from contributors already.
1112
12-
Here is a checklist of things to do:
13+
Probably the latest beta (or stable) release has your feature, so try to update your rclone.
14+
The update instructions are available at https://rclone.org/commands/rclone_selfupdate/
1315
14-
1. Please search the old issues first for your idea and +1 or comment on an existing issue if possible.
15-
2. Discuss on the forum first: https://forum.rclone.org/
16+
If it still isn't there, here is a checklist of things to do:
17+
18+
1. Search the old issues for your idea and +1 or comment on an existing issue if possible.
19+
2. Discuss on the forum: https://forum.rclone.org/
1620
3. Make a feature request issue (this is the right place!).
1721
4. Be prepared to get involved making the feature :-)
1822
@@ -22,6 +26,9 @@ The Rclone Developers
2226
2327
-->
2428

29+
#### The associated forum post URL from `https://forum.rclone.org`
30+
31+
2532

2633
#### What is your current rclone version (output from `rclone version`)?
2734

@@ -34,3 +41,11 @@ The Rclone Developers
3441
#### How do you think rclone should be changed to solve that?
3542

3643

44+
45+
<!--- Please keep the note below for others who read your feature request. -->
46+
47+
#### How to use GitHub
48+
49+
* Please use the 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to show that you are affected by the same issue.
50+
* Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
51+
* Subscribe to receive notifications on status change and new comments.

.github/workflows/build.yml

Lines changed: 122 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,15 @@ on:
1212
tags:
1313
- '*'
1414
pull_request:
15+
workflow_dispatch:
16+
inputs:
17+
manual:
18+
required: true
19+
default: true
1520

1621
jobs:
1722
build:
23+
if: ${{ github.repository == 'rclone/rclone' || github.event.inputs.manual }}
1824
timeout-minutes: 60
1925
strategy:
2026
fail-fast: false
@@ -30,6 +36,7 @@ jobs:
3036
check: true
3137
quicktest: true
3238
racequicktest: true
39+
librclonetest: true
3340
deploy: true
3441

3542
- job_name: mac_amd64
@@ -187,6 +194,14 @@ jobs:
187194
make racequicktest
188195
if: matrix.racequicktest
189196

197+
- name: Run librclone tests
198+
shell: bash
199+
run: |
200+
make -C librclone/ctest test
201+
make -C librclone/ctest clean
202+
librclone/python/test_rclone.py
203+
if: matrix.librclonetest
204+
190205
- name: Code quality test
191206
shell: bash
192207
run: |
@@ -213,50 +228,110 @@ jobs:
213228
# Deploy binaries if enabled in config && not a PR && not a fork
214229
if: matrix.deploy && github.head_ref == '' && github.repository == 'rclone/rclone'
215230

216-
xgo:
217-
timeout-minutes: 60
218-
name: "xgo cross compile"
219-
runs-on: ubuntu-latest
220-
221-
steps:
222-
223-
- name: Checkout
224-
uses: actions/checkout@v1
225-
with:
226-
# Checkout into a fixed path to avoid import path problems on go < 1.11
227-
path: ./src/github.com/rclone/rclone
228-
229-
- name: Set environment variables
230-
shell: bash
231-
run: |
232-
echo 'GOPATH=${{ runner.workspace }}' >> $GITHUB_ENV
233-
echo '${{ runner.workspace }}/bin' >> $GITHUB_PATH
234-
235-
- name: Cross-compile rclone
236-
run: |
237-
docker pull billziss/xgo-cgofuse
238-
GO111MODULE=off go get -v github.com/karalabe/xgo # don't add to go.mod
239-
# xgo \
240-
# -image=billziss/xgo-cgofuse \
241-
# -targets=darwin/amd64,linux/386,linux/amd64,windows/386,windows/amd64 \
242-
# -tags cmount \
243-
# -dest build \
244-
# .
245-
xgo \
246-
-image=billziss/xgo-cgofuse \
247-
-targets=android/*,ios/* \
248-
-dest build \
249-
.
250-
251-
- name: Build rclone
252-
shell: bash
253-
run: |
254-
make
255-
256-
- name: Upload artifacts
257-
run: |
258-
make ci_upload
259-
env:
260-
RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }}
261-
# Upload artifacts if not a PR && not a fork
262-
if: github.head_ref == '' && github.repository == 'rclone/rclone'
231+
android:
232+
if: ${{ github.repository == 'rclone/rclone' || github.event.inputs.manual }}
233+
timeout-minutes: 30
234+
name: "android-all"
235+
runs-on: ubuntu-latest
236+
237+
steps:
238+
- name: Checkout
239+
uses: actions/checkout@v2
240+
with:
241+
fetch-depth: 0
242+
243+
# Upgrade together with NDK version
244+
- name: Set up Go 1.14
245+
uses: actions/setup-go@v1
246+
with:
247+
go-version: 1.14
248+
249+
# Upgrade together with Go version. Using a GitHub-provided version saves around 2 minutes.
250+
- name: Force NDK version
251+
run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;21.4.7075529" | grep -v = || true
252+
253+
- name: Go module cache
254+
uses: actions/cache@v2
255+
with:
256+
path: ~/go/pkg/mod
257+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
258+
restore-keys: |
259+
${{ runner.os }}-go-
260+
261+
- name: Set global environment variables
262+
shell: bash
263+
run: |
264+
echo "VERSION=$(make version)" >> $GITHUB_ENV
265+
266+
- name: build native rclone
267+
run: |
268+
make
269+
270+
- name: install gomobile
271+
run: |
272+
go get golang.org/x/mobile/cmd/gobind
273+
go get golang.org/x/mobile/cmd/gomobile
274+
env PATH=$PATH:~/go/bin gomobile init
275+
276+
- name: arm-v7a gomobile build
277+
run: env PATH=$PATH:~/go/bin gomobile bind -v -target=android/arm -javapkg=org.rclone -ldflags '-s -X github.com/rclone/rclone/fs.Version='${VERSION} github.com/rclone/rclone/librclone/gomobile
278+
279+
- name: arm-v7a Set environment variables
280+
shell: bash
281+
run: |
282+
echo "CC=$(echo $ANDROID_HOME/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi16-clang)" >> $GITHUB_ENV
283+
echo "CC_FOR_TARGET=$CC" >> $GITHUB_ENV
284+
echo 'GOOS=android' >> $GITHUB_ENV
285+
echo 'GOARCH=arm' >> $GITHUB_ENV
286+
echo 'GOARM=7' >> $GITHUB_ENV
287+
echo 'CGO_ENABLED=1' >> $GITHUB_ENV
288+
echo 'CGO_LDFLAGS=-fuse-ld=lld -s -w' >> $GITHUB_ENV
289+
- name: arm-v7a build
290+
run: go build -v -tags android -trimpath -ldflags '-s -X github.com/rclone/rclone/fs.Version='${VERSION} -o build/rclone-android-16-armv7a .
291+
292+
- name: arm64-v8a Set environment variables
293+
shell: bash
294+
run: |
295+
echo "CC=$(echo $ANDROID_HOME/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang)" >> $GITHUB_ENV
296+
echo "CC_FOR_TARGET=$CC" >> $GITHUB_ENV
297+
echo 'GOOS=android' >> $GITHUB_ENV
298+
echo 'GOARCH=arm64' >> $GITHUB_ENV
299+
echo 'CGO_ENABLED=1' >> $GITHUB_ENV
300+
echo 'CGO_LDFLAGS=-fuse-ld=lld -s -w' >> $GITHUB_ENV
301+
302+
- name: arm64-v8a build
303+
run: go build -v -tags android -trimpath -ldflags '-s -X github.com/rclone/rclone/fs.Version='${VERSION} -o build/rclone-android-21-armv8a .
304+
305+
- name: x86 Set environment variables
306+
shell: bash
307+
run: |
308+
echo "CC=$(echo $ANDROID_HOME/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android16-clang)" >> $GITHUB_ENV
309+
echo "CC_FOR_TARGET=$CC" >> $GITHUB_ENV
310+
echo 'GOOS=android' >> $GITHUB_ENV
311+
echo 'GOARCH=386' >> $GITHUB_ENV
312+
echo 'CGO_ENABLED=1' >> $GITHUB_ENV
313+
echo 'CGO_LDFLAGS=-fuse-ld=lld -s -w' >> $GITHUB_ENV
314+
315+
- name: x86 build
316+
run: go build -v -tags android -trimpath -ldflags '-s -X github.com/rclone/rclone/fs.Version='${VERSION} -o build/rclone-android-16-x86 .
317+
318+
- name: x64 Set environment variables
319+
shell: bash
320+
run: |
321+
echo "CC=$(echo $ANDROID_HOME/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android21-clang)" >> $GITHUB_ENV
322+
echo "CC_FOR_TARGET=$CC" >> $GITHUB_ENV
323+
echo 'GOOS=android' >> $GITHUB_ENV
324+
echo 'GOARCH=amd64' >> $GITHUB_ENV
325+
echo 'CGO_ENABLED=1' >> $GITHUB_ENV
326+
echo 'CGO_LDFLAGS=-fuse-ld=lld -s -w' >> $GITHUB_ENV
327+
328+
- name: x64 build
329+
run: go build -v -tags android -trimpath -ldflags '-s -X github.com/rclone/rclone/fs.Version='${VERSION} -o build/rclone-android-21-x64 .
330+
331+
- name: Upload artifacts
332+
run: |
333+
make ci_upload
334+
env:
335+
RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }}
336+
# Upload artifacts if not a PR && not a fork
337+
if: github.head_ref == '' && github.repository == 'rclone/rclone'

.github/workflows/build_publish_docker_image.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77

88
jobs:
99
build:
10+
if: github.repository == 'rclone/rclone'
1011
runs-on: ubuntu-latest
1112
name: Build image job
1213
steps:

.github/workflows/build_publish_release_docker_image.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66

77
jobs:
88
build:
9+
if: github.repository == 'rclone/rclone'
910
runs-on: ubuntu-latest
1011
name: Build image job
1112
steps:

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*~
22
_junk/
33
rclone
4+
rclone.exe
45
build
56
docs/public
67
rclone.iml
@@ -10,3 +11,5 @@ rclone.iml
1011
*.log
1112
*.iml
1213
fuzz-build.zip
14+
*.orig
15+
*.rej

0 commit comments

Comments
 (0)