duplicacy-backup-runner 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- duplicacy_backup_runner-3.0.0/.github/workflows/release.yml +99 -0
- duplicacy_backup_runner-3.0.0/.gitignore +8 -0
- duplicacy_backup_runner-3.0.0/LICENSE.txt +674 -0
- duplicacy_backup_runner-3.0.0/PKG-INFO +193 -0
- duplicacy_backup_runner-3.0.0/README.md +164 -0
- duplicacy_backup_runner-3.0.0/config.example.yaml +78 -0
- duplicacy_backup_runner-3.0.0/duplicacy_backup_runner/__init__.py +1 -0
- duplicacy_backup_runner-3.0.0/duplicacy_backup_runner/main.py +1639 -0
- duplicacy_backup_runner-3.0.0/duplicacy_backup_runner/setup.py +657 -0
- duplicacy_backup_runner-3.0.0/pyproject.toml +57 -0
- duplicacy_backup_runner-3.0.0/tests/test_integration.py +705 -0
- duplicacy_backup_runner-3.0.0/tests/test_main.py +1428 -0
- duplicacy_backup_runner-3.0.0/tests/test_setup.py +400 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# GitHub Actions workflow: build and publish duplicacy-backup-runner to
|
|
2
|
+
# TestPyPI and PyPI.
|
|
3
|
+
#
|
|
4
|
+
# Requires a PyPI and TestPyPI "Trusted Publisher" configured for this repo
|
|
5
|
+
# (no API tokens needed) — see https://docs.pypi.org/trusted-publishers/
|
|
6
|
+
#
|
|
7
|
+
# First release (the project doesn't exist on the index yet): add a
|
|
8
|
+
# "pending publisher". PyPI can't prefill this form from a URL, so open the
|
|
9
|
+
# page, paste the matching line below into the browser's devtools console,
|
|
10
|
+
# check the fields, and click "Add".
|
|
11
|
+
# TestPyPI: https://test.pypi.org/manage/account/publishing/
|
|
12
|
+
# f=document.querySelector('input[name=workflow_filename]').form;Object.entries({project_name:'duplicacy-backup-runner',owner:'gene1wood',repository:'duplicacy-backup-runner',workflow_filename:'release.yml',environment:'testpypi'}).forEach(([k,v])=>f.elements[k].value=v)
|
|
13
|
+
# PyPI: https://pypi.org/manage/account/publishing/
|
|
14
|
+
# f=document.querySelector('input[name=workflow_filename]').form;Object.entries({project_name:'duplicacy-backup-runner',owner:'gene1wood',repository:'duplicacy-backup-runner',workflow_filename:'release.yml',environment:'pypi'}).forEach(([k,v])=>f.elements[k].value=v)
|
|
15
|
+
#
|
|
16
|
+
# Project already exists on the index: these links open the form prefilled.
|
|
17
|
+
# TestPyPI: https://test.pypi.org/manage/project/duplicacy-backup-runner/settings/publishing/?provider=github&owner=gene1wood&repository=duplicacy-backup-runner&workflow_filename=release.yml&environment=testpypi
|
|
18
|
+
# PyPI: https://pypi.org/manage/project/duplicacy-backup-runner/settings/publishing/?provider=github&owner=gene1wood&repository=duplicacy-backup-runner&workflow_filename=release.yml&environment=pypi
|
|
19
|
+
#
|
|
20
|
+
# Actions are pinned to commit hashes rather than version tags. This is a
|
|
21
|
+
# supply-chain-security best practice: a tag like @v4 can be force-moved to
|
|
22
|
+
# point at different (possibly malicious) code, but a commit hash can't be.
|
|
23
|
+
# The trailing comment records the human-readable version for reference.
|
|
24
|
+
# Keep hashes current with Dependabot (see .github/dependabot.yml below) or
|
|
25
|
+
# by re-checking the action's releases page periodically — these hashes
|
|
26
|
+
# reflect what was current when this template was last updated and WILL go
|
|
27
|
+
# stale over time.
|
|
28
|
+
#
|
|
29
|
+
# Save as: .github/workflows/release.yml
|
|
30
|
+
name: Release
|
|
31
|
+
|
|
32
|
+
on:
|
|
33
|
+
push:
|
|
34
|
+
tags:
|
|
35
|
+
- "v*"
|
|
36
|
+
workflow_dispatch:
|
|
37
|
+
|
|
38
|
+
jobs:
|
|
39
|
+
build:
|
|
40
|
+
name: Build distribution
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
44
|
+
|
|
45
|
+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
46
|
+
with:
|
|
47
|
+
python-version: "3.x"
|
|
48
|
+
|
|
49
|
+
- name: Install build tool
|
|
50
|
+
run: python -m pip install --upgrade build --user
|
|
51
|
+
|
|
52
|
+
- name: Build a binary wheel and a source tarball
|
|
53
|
+
run: python -m build
|
|
54
|
+
|
|
55
|
+
- name: Store the distribution packages
|
|
56
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
57
|
+
with:
|
|
58
|
+
name: python-package-distributions
|
|
59
|
+
path: dist/
|
|
60
|
+
|
|
61
|
+
publish-to-testpypi:
|
|
62
|
+
name: Publish to TestPyPI
|
|
63
|
+
needs: build
|
|
64
|
+
runs-on: ubuntu-latest
|
|
65
|
+
environment:
|
|
66
|
+
name: testpypi
|
|
67
|
+
url: https://test.pypi.org/p/duplicacy-backup-runner
|
|
68
|
+
permissions:
|
|
69
|
+
id-token: write # required for trusted publishing
|
|
70
|
+
steps:
|
|
71
|
+
- name: Download all the dists
|
|
72
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
73
|
+
with:
|
|
74
|
+
name: python-package-distributions
|
|
75
|
+
path: dist/
|
|
76
|
+
|
|
77
|
+
- name: Publish to TestPyPI
|
|
78
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
79
|
+
with:
|
|
80
|
+
repository-url: https://test.pypi.org/legacy/
|
|
81
|
+
|
|
82
|
+
publish-to-pypi:
|
|
83
|
+
name: Publish to PyPI
|
|
84
|
+
needs: [build, publish-to-testpypi]
|
|
85
|
+
runs-on: ubuntu-latest
|
|
86
|
+
environment:
|
|
87
|
+
name: pypi
|
|
88
|
+
url: https://pypi.org/p/duplicacy-backup-runner
|
|
89
|
+
permissions:
|
|
90
|
+
id-token: write # required for trusted publishing
|
|
91
|
+
steps:
|
|
92
|
+
- name: Download all the dists
|
|
93
|
+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
94
|
+
with:
|
|
95
|
+
name: python-package-distributions
|
|
96
|
+
path: dist/
|
|
97
|
+
|
|
98
|
+
- name: Publish distribution to PyPI
|
|
99
|
+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|