mirror of
https://github.com/linuxserver/docker-pyload-ng.git
synced 2026-03-09 00:08:04 +08:00
Compare commits
415 Commits
main
...
develop-79
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72b4e53b9b | ||
|
|
b1f956622c | ||
|
|
6785b0887e | ||
|
|
7bdbc9af87 | ||
|
|
5ea415359d | ||
|
|
fe47b1a355 | ||
|
|
7fa3bf6ef0 | ||
|
|
0bfd19e8f7 | ||
|
|
bbaf30b71e | ||
|
|
4930704354 | ||
|
|
a6fc16cb2f | ||
|
|
d3a1feb356 | ||
|
|
af335fcea3 | ||
|
|
6f9090fc3d | ||
|
|
a5bf8d0749 | ||
|
|
e95038c006 | ||
|
|
32b98c0468 | ||
|
|
8e20a4479d | ||
|
|
de2ef094f0 | ||
|
|
db83141aa6 | ||
|
|
7b624b8377 | ||
|
|
d8e81eb579 | ||
|
|
6b498aa10f | ||
|
|
9d80464e15 | ||
|
|
3186b95c5a | ||
|
|
79f5745f45 | ||
|
|
3a0eeba09e | ||
|
|
accf08b740 | ||
|
|
b27d6331b6 | ||
|
|
e57e7696ff | ||
|
|
fce994d91b | ||
|
|
4533e3a70d | ||
|
|
86d31b4952 | ||
|
|
516f034720 | ||
|
|
4871ef4ac3 | ||
|
|
64ba65f958 | ||
|
|
753e779079 | ||
|
|
39d8810e22 | ||
|
|
273369e998 | ||
|
|
35d1355bb5 | ||
|
|
b54bab7f8a | ||
|
|
f84dc5fc6f | ||
|
|
8cfaee1f58 | ||
|
|
ef6693e167 | ||
|
|
9f310a44a3 | ||
|
|
ae73234caa | ||
|
|
7e69154c6a | ||
|
|
c65c5233f1 | ||
|
|
d56d013364 | ||
|
|
d95919aeec | ||
|
|
a0eb9c670d | ||
|
|
1029d95528 | ||
|
|
4e7fb215bb | ||
|
|
c44cdcc34d | ||
|
|
e77f4eddd4 | ||
|
|
a7880f68aa | ||
|
|
efc46b8cb5 | ||
|
|
7204b49357 | ||
|
|
a301336123 | ||
|
|
3ec527d246 | ||
|
|
148d45e303 | ||
|
|
9e28714ba1 | ||
|
|
aade1dc353 | ||
|
|
e031d571ab | ||
|
|
b420adaaff | ||
|
|
3b9f8e814e | ||
|
|
ef466f0d5d | ||
|
|
bc39f283f5 | ||
|
|
dee8462841 | ||
|
|
58c8a792a7 | ||
|
|
b787888cd5 | ||
|
|
a16b4e0ca9 | ||
|
|
15ed2b626e | ||
|
|
cc2dc90ba2 | ||
|
|
d1b3032898 | ||
|
|
05871b97ca | ||
|
|
a44e17765f | ||
|
|
5d126aba7d | ||
|
|
2ff6f0e82e | ||
|
|
7eb9fb6edc | ||
|
|
576f28fa03 | ||
|
|
bd80cbd2bb | ||
|
|
cfc77251bc | ||
|
|
0ca51e2e19 | ||
|
|
d88c42fd60 | ||
|
|
35accefd26 | ||
|
|
4284e3ba70 | ||
|
|
27b0460a95 | ||
|
|
f3846acfe7 | ||
|
|
5fed64433a | ||
|
|
f801801394 | ||
|
|
0b8b8ecffc | ||
|
|
609112b8fd | ||
|
|
cf699498ec | ||
|
|
fc6f6b22b1 | ||
|
|
0c5323eed3 | ||
|
|
17eaaac8a9 | ||
|
|
0af2b3bdd4 | ||
|
|
2c874386b0 | ||
|
|
030ec01f9c | ||
|
|
7621c89d42 | ||
|
|
d24e6cdb81 | ||
|
|
6987ed76e9 | ||
|
|
77bf686c91 | ||
|
|
192173e85e | ||
|
|
c87e6f3f74 | ||
|
|
41f5011c46 | ||
|
|
3f0fdb5497 | ||
|
|
a06f2eabf2 | ||
|
|
4f68a6167e | ||
|
|
65d39b9e28 | ||
|
|
02066b1792 | ||
|
|
1bcd22b4f1 | ||
|
|
de02dcb44f | ||
|
|
73945faf0b | ||
|
|
fd7f70536c | ||
|
|
e43eeb5414 | ||
|
|
6c1ef4bdee | ||
|
|
d09b1932a8 | ||
|
|
9f743c978d | ||
|
|
828b011e42 | ||
|
|
7b0256ce8a | ||
|
|
5ac0f2be41 | ||
|
|
1a7b1ab1a5 | ||
|
|
a08b94a099 | ||
|
|
10814c1f71 | ||
|
|
4f65e980d8 | ||
|
|
6b9c257565 | ||
|
|
a0845a052d | ||
|
|
ef71d778ce | ||
|
|
84a7575ec5 | ||
|
|
de4afa5c99 | ||
|
|
d50d2ffa36 | ||
|
|
910551471b | ||
|
|
3cad95e7fe | ||
|
|
94f31de4ef | ||
|
|
21ae922724 | ||
|
|
bf4eb7c4ab | ||
|
|
fe04eb23b8 | ||
|
|
5413f36697 | ||
|
|
b8a9d58442 | ||
|
|
bdbada7c01 | ||
|
|
1c7dcb549e | ||
|
|
e8ca9ee57a | ||
|
|
ab28c6b90e | ||
|
|
9b49bc5dc2 | ||
|
|
6ea3e8e90c | ||
|
|
0a710b437d | ||
|
|
62866c9129 | ||
|
|
f474d301a4 | ||
|
|
56ca0dd78f | ||
|
|
724b1d07b5 | ||
|
|
7bf701d17c | ||
|
|
33188ef63d | ||
|
|
601d79931b | ||
|
|
c888ecc7f2 | ||
|
|
b1f37db18b | ||
|
|
940a37a3f3 | ||
|
|
03a2fa9d4e | ||
|
|
a244591410 | ||
|
|
3dd4fafb3f | ||
|
|
7c26f395b7 | ||
|
|
4b31f5c735 | ||
|
|
e155ba6773 | ||
|
|
fa63a15c60 | ||
|
|
212ca83b59 | ||
|
|
9801de302a | ||
|
|
e65fa0b197 | ||
|
|
9fc59009b0 | ||
|
|
a5cf1ab280 | ||
|
|
cda5d34c41 | ||
|
|
0a29441b36 | ||
|
|
9a3671c117 | ||
|
|
da7eb4df64 | ||
|
|
ea3a5a6297 | ||
|
|
0421375534 | ||
|
|
8dc027c677 | ||
|
|
6b9f6541c3 | ||
|
|
f216175559 | ||
|
|
927a5d28e6 | ||
|
|
fd8dd4f61c | ||
|
|
98b4f58237 | ||
|
|
c4955c220a | ||
|
|
d60feec7b1 | ||
|
|
e1849e014e | ||
|
|
c1948b1312 | ||
|
|
8a66bb58d0 | ||
|
|
7a7b0f725f | ||
|
|
79137f93da | ||
|
|
bce72dd16c | ||
|
|
0670aab6ad | ||
|
|
e064ffb32c | ||
|
|
88caacf3a4 | ||
|
|
b13fa13887 | ||
|
|
3da865f256 | ||
|
|
7a6f296d66 | ||
|
|
250dfc2d1f | ||
|
|
c6f2ecf411 | ||
|
|
98675fab0e | ||
|
|
b2172ec53a | ||
|
|
65c52b023a | ||
|
|
9a5937a039 | ||
|
|
4590947390 | ||
|
|
d854e1dfda | ||
|
|
347ef47712 | ||
|
|
49ce5f76cc | ||
|
|
802bc41678 | ||
|
|
549fbc022a | ||
|
|
105ad7b4fe | ||
|
|
662dd68415 | ||
|
|
1bef5090e2 | ||
|
|
87277a1dc9 | ||
|
|
599a91dfc8 | ||
|
|
8744c9ab91 | ||
|
|
9572c07517 | ||
|
|
6ceaeadb84 | ||
|
|
79aaae014d | ||
|
|
4c1ac9607c | ||
|
|
fd5f95a622 | ||
|
|
b1d76cd4b7 | ||
|
|
6557132cd9 | ||
|
|
48ccf20b5b | ||
|
|
597fd818d7 | ||
|
|
a448acb467 | ||
|
|
f08c943edb | ||
|
|
e88acfe1ca | ||
|
|
ed524ca0f3 | ||
|
|
b8d1028096 | ||
|
|
3a1699da61 | ||
|
|
8762a3b63e | ||
|
|
d89d4a3157 | ||
|
|
3723db9b92 | ||
|
|
d97a6b89f7 | ||
|
|
6f5eb1b082 | ||
|
|
58c461a80e | ||
|
|
83bffa905a | ||
|
|
1d0d56383c | ||
|
|
ac4237f6ae | ||
|
|
86759e01ab | ||
|
|
fa24f602ce | ||
|
|
23c4630d7b | ||
|
|
465c5b419f | ||
|
|
f04eef0f05 | ||
|
|
4597753c51 | ||
|
|
bbaaaae41b | ||
|
|
9436e8cbb2 | ||
|
|
de60bddc3f | ||
|
|
b1b24769f0 | ||
|
|
1cc44cdc39 | ||
|
|
8f683ddc12 | ||
|
|
1efbe366b0 | ||
|
|
3f5416cfc8 | ||
|
|
5193e6880e | ||
|
|
43ede02456 | ||
|
|
839e39902f | ||
|
|
0eae77c7a7 | ||
|
|
5095789fd2 | ||
|
|
64650966f3 | ||
|
|
bfc8cc2908 | ||
|
|
7d5cb47fad | ||
|
|
c18c96f44a | ||
|
|
9b392fe5a9 | ||
|
|
546d20039d | ||
|
|
eff1f69ba9 | ||
|
|
a604bba084 | ||
|
|
3d79e61f4f | ||
|
|
292d6d4f75 | ||
|
|
6f19d8f916 | ||
|
|
8f6cfa1834 | ||
|
|
c4da6dad7a | ||
|
|
47dfc8fd46 | ||
|
|
f39447b6ee | ||
|
|
64c8cca21d | ||
|
|
5207b4f9d0 | ||
|
|
bbe558d9d4 | ||
|
|
bfacd874b1 | ||
|
|
d207695c27 | ||
|
|
7ef56f8874 | ||
|
|
c37fadb3d0 | ||
|
|
cabde22029 | ||
|
|
7d614e4322 | ||
|
|
752e712781 | ||
|
|
c386926b2b | ||
|
|
45c8e60670 | ||
|
|
41aed8c33b | ||
|
|
d78bf490e5 | ||
|
|
50ee8069e7 | ||
|
|
4f94522d09 | ||
|
|
12c5b882c1 | ||
|
|
05d667d951 | ||
|
|
79e528a115 | ||
|
|
da3bfcbba5 | ||
|
|
b508c2eaff | ||
|
|
9f9744c8c4 | ||
|
|
3a0dbfbb08 | ||
|
|
722b3d9a0f | ||
|
|
ec499e203f | ||
|
|
d1e25faac8 | ||
|
|
9f5f289da9 | ||
|
|
8dbac7b648 | ||
|
|
9c5220ce09 | ||
|
|
ed0f20525a | ||
|
|
05b1c9bf1b | ||
|
|
5b05d85cdf | ||
|
|
a856733aa0 | ||
|
|
8df0253045 | ||
|
|
c28eec4066 | ||
|
|
360ac1e7c2 | ||
|
|
5feb3a5eca | ||
|
|
03b70fd5ae | ||
|
|
1a2e650498 | ||
|
|
af30fd2972 | ||
|
|
865b9aabb7 | ||
|
|
fabb73eb8a | ||
|
|
3c39ba092b | ||
|
|
62f193293c | ||
|
|
59e5c27aa9 | ||
|
|
2e8d67443a | ||
|
|
bfced7d98c | ||
|
|
4898c968d8 | ||
|
|
a0c16fbb3b | ||
|
|
c96a00ad8e | ||
|
|
5dc7401afb | ||
|
|
da21b9f28d | ||
|
|
96eb0285fc | ||
|
|
d0dd079b63 | ||
|
|
de22bfdee5 | ||
|
|
cb600f8c8b | ||
|
|
1427eec17d | ||
|
|
c186897ad2 | ||
|
|
37f89838fb | ||
|
|
476a8a98f5 | ||
|
|
dd0de3f09d | ||
|
|
9ab82d98e9 | ||
|
|
8501987990 | ||
|
|
9f7749809d | ||
|
|
6c5b2fdb11 | ||
|
|
f26b16bbb3 | ||
|
|
b97035dc26 | ||
|
|
aefe2425ab | ||
|
|
801e85be2f | ||
|
|
7b0f11d146 | ||
|
|
8595a7ff99 | ||
|
|
6f12035ae5 | ||
|
|
7a919206ed | ||
|
|
7ce23b6992 | ||
|
|
71d777c171 | ||
|
|
5a599c5c1d | ||
|
|
59729f5890 | ||
|
|
bedbb45375 | ||
|
|
95a520c79b | ||
|
|
a15760c23c | ||
|
|
aee499798b | ||
|
|
3fa5049563 | ||
|
|
9f631a1235 | ||
|
|
adaaefcb60 | ||
|
|
b6dae6cca0 | ||
|
|
db741fe766 | ||
|
|
3bd4cd4799 | ||
|
|
0cea5bdbbd | ||
|
|
de32b2cd89 | ||
|
|
f13b23aed4 | ||
|
|
d1781f4542 | ||
|
|
32ea7f2b70 | ||
|
|
94a7327114 | ||
|
|
f9348eb6e8 | ||
|
|
7673b2de3c | ||
|
|
880f051725 | ||
|
|
5530284c35 | ||
|
|
1277309e6a | ||
|
|
5f608766bf | ||
|
|
e93ec89a10 | ||
|
|
560aa28b60 | ||
|
|
3746a0faae | ||
|
|
87783064c9 | ||
|
|
8d607f1dc5 | ||
|
|
e51f1faa96 | ||
|
|
84f5a928c8 | ||
|
|
6cbc28b088 | ||
|
|
aa943418a2 | ||
|
|
7fc6527d1d | ||
|
|
2aead8e1a3 | ||
|
|
363c1cc01e | ||
|
|
d11fff1c16 | ||
|
|
a88c34c656 | ||
|
|
8f9c3b3602 | ||
|
|
d999fef2a3 | ||
|
|
0f9934c6f4 | ||
|
|
a1fa5a844d | ||
|
|
e6a54abdc5 | ||
|
|
6848804bd8 | ||
|
|
fa8aaeda6c | ||
|
|
e88d359416 | ||
|
|
0388d62f80 | ||
|
|
c9b209fe46 | ||
|
|
35ea513bc4 | ||
|
|
5a6cf191ed | ||
|
|
c010364a8e | ||
|
|
f3cae9a9cc | ||
|
|
282046b730 | ||
|
|
c3e1334175 | ||
|
|
7ddf36add8 | ||
|
|
83cb34048a | ||
|
|
28b5e46a87 | ||
|
|
88261eef17 | ||
|
|
99636278e8 | ||
|
|
0719a1d9d1 | ||
|
|
e3b3242356 | ||
|
|
5b876a5e2d | ||
|
|
2ac5ea2ae3 | ||
|
|
a6f5e3493c | ||
|
|
b1b05f0455 | ||
|
|
cd276ffaae | ||
|
|
5597b4c218 | ||
|
|
479dfa16fa |
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@ -24,7 +24,7 @@
|
|||||||
## Readme
|
## Readme
|
||||||
|
|
||||||
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
||||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-pyload-ng/edit/main/readme-vars.yml).
|
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-pyload-ng/edit/develop/readme-vars.yml).
|
||||||
|
|
||||||
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
|
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
|
||||||
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-pyload-ng)
|
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-pyload-ng)
|
||||||
@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Update the changelog
|
## Update the changelog
|
||||||
|
|
||||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-pyload-ng/tree/main/root), add an entry to the changelog
|
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-pyload-ng/tree/develop/root), add an entry to the changelog
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
changelogs:
|
changelogs:
|
||||||
|
|||||||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||||
|
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
|||||||
34
.github/workflows/external_trigger.yml
vendored
34
.github/workflows/external_trigger.yml
vendored
@ -7,31 +7,31 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
external-trigger-main:
|
external-trigger-develop:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.1
|
- uses: actions/checkout@v4.1.1
|
||||||
|
|
||||||
- name: External Trigger
|
- name: External Trigger
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/develop'
|
||||||
env:
|
env:
|
||||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||||
run: |
|
run: |
|
||||||
printf "# External trigger for docker-pyload-ng\n\n" >> $GITHUB_STEP_SUMMARY
|
printf "# External trigger for docker-pyload-ng\n\n" >> $GITHUB_STEP_SUMMARY
|
||||||
if grep -q "^pyload-ng_main_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
if grep -q "^pyload-ng_develop_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_main_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_develop_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||||
elif grep -q "^pyload-ng_main" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
elif grep -q "^pyload-ng_develop" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_main\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_develop\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> External trigger running off of main branch. To disable this trigger, add \`pyload-ng_main\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
echo "> External trigger running off of develop branch. To disable this trigger, add \`pyload-ng_develop\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||||
EXT_RELEASE=$(curl -sL "https://pypi.python.org/pypi/pyload-ng/json" |jq -r '. | .info.version')
|
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/pyload/pyload/commits/develop" | jq -r '. | .sha' | cut -c1-8)
|
||||||
echo "Type is \`pip_version\`" >> $GITHUB_STEP_SUMMARY
|
echo "Type is \`github_commit\`" >> $GITHUB_STEP_SUMMARY
|
||||||
if grep -q "^pyload-ng_main_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
if grep -q "^pyload-ng_develop_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
@ -39,7 +39,7 @@ jobs:
|
|||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
FAILURE_REASON="Can't retrieve external version for pyload-ng branch main"
|
FAILURE_REASON="Can't retrieve external version for pyload-ng branch develop"
|
||||||
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-pyload-ng/actions/runs/${{ github.run_id }}"
|
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-pyload-ng/actions/runs/${{ github.run_id }}"
|
||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||||
@ -50,7 +50,7 @@ jobs:
|
|||||||
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
|
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
||||||
image="linuxserver/pyload-ng"
|
image="linuxserver/pyload-ng"
|
||||||
tag="latest"
|
tag="develop"
|
||||||
token=$(curl -sX GET \
|
token=$(curl -sX GET \
|
||||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fpyload-ng%3Apull" \
|
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fpyload-ng%3Apull" \
|
||||||
| jq -r '.token')
|
| jq -r '.token')
|
||||||
@ -96,7 +96,7 @@ jobs:
|
|||||||
if [ -z "${IMAGE_VERSION}" ]; then
|
if [ -z "${IMAGE_VERSION}" ]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
FAILURE_REASON="Can't retrieve last pushed version for pyload-ng tag latest"
|
FAILURE_REASON="Can't retrieve last pushed version for pyload-ng tag develop"
|
||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
@ -106,14 +106,14 @@ jobs:
|
|||||||
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
|
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
|
||||||
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||||
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
|
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
if [[ "${artifacts_found}" == "false" ]]; then
|
if [[ "${artifacts_found}" == "false" ]]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
|
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
|
||||||
FAILURE_REASON="New version ${EXT_RELEASE} for pyload-ng tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
FAILURE_REASON="New version ${EXT_RELEASE} for pyload-ng tag develop is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
@ -124,7 +124,7 @@ jobs:
|
|||||||
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
||||||
fi
|
fi
|
||||||
response=$(curl -iX POST \
|
response=$(curl -iX POST \
|
||||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/buildWithParameters?PACKAGE_CHECK=false \
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/buildWithParameters?PACKAGE_CHECK=false \
|
||||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||||
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||||
@ -139,7 +139,7 @@ jobs:
|
|||||||
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||||
--data-urlencode "Submit=Submit"
|
--data-urlencode "Submit=Submit"
|
||||||
echo "**** Notifying Discord ****"
|
echo "**** Notifying Discord ****"
|
||||||
TRIGGER_REASON="A version change was detected for pyload-ng tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
|
TRIGGER_REASON="A version change was detected for pyload-ng tag develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
|
||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||||
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|||||||
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@ -15,5 +15,5 @@ jobs:
|
|||||||
- uses: actions/first-interaction@v1
|
- uses: actions/first-interaction@v1
|
||||||
with:
|
with:
|
||||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
|
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
|
||||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/PULL_REQUEST_TEMPLATE.md)!'
|
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
10
Dockerfile
10
Dockerfile
@ -7,7 +7,7 @@ FROM ghcr.io/linuxserver/baseimage-alpine:3.22
|
|||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG PYLOAD_VERSION
|
ARG PYLOAD_COMMIT
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="aptalca"
|
LABEL maintainer="aptalca"
|
||||||
|
|
||||||
@ -19,6 +19,7 @@ RUN \
|
|||||||
build-base \
|
build-base \
|
||||||
cargo \
|
cargo \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
|
git \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libjpeg-turbo-dev \
|
libjpeg-turbo-dev \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
@ -35,15 +36,16 @@ RUN \
|
|||||||
sqlite \
|
sqlite \
|
||||||
tesseract-ocr && \
|
tesseract-ocr && \
|
||||||
echo "**** install pyload ****" && \
|
echo "**** install pyload ****" && \
|
||||||
if [ -z ${PYLOAD_VERSION+x} ]; then \
|
if [ -z ${PYLOAD_COMMIT+x} ]; then \
|
||||||
PYLOAD_VERSION=$(curl -sL https://pypi.python.org/pypi/pyload-ng/json |jq -r '. | .info.version'); \
|
PYLOAD_COMMIT=$(curl -sX GET "https://api.github.com/repos/pyload/pyload/branches/develop" \
|
||||||
|
| awk '/sha/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
python3 -m venv /lsiopy && \
|
python3 -m venv /lsiopy && \
|
||||||
pip install -U --no-cache-dir \
|
pip install -U --no-cache-dir \
|
||||||
pip \
|
pip \
|
||||||
wheel && \
|
wheel && \
|
||||||
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
|
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
|
||||||
pyload-ng[all]=="${PYLOAD_VERSION}" && \
|
"git+https://github.com/pyload/pyload.git@${PYLOAD_COMMIT}" && \
|
||||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||||
echo "**** cleanup ****" && \
|
echo "**** cleanup ****" && \
|
||||||
apk del --purge \
|
apk del --purge \
|
||||||
|
|||||||
@ -7,7 +7,7 @@ FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22
|
|||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG PYLOAD_VERSION
|
ARG PYLOAD_COMMIT
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="aptalca"
|
LABEL maintainer="aptalca"
|
||||||
|
|
||||||
@ -19,6 +19,7 @@ RUN \
|
|||||||
build-base \
|
build-base \
|
||||||
cargo \
|
cargo \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
|
git \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libjpeg-turbo-dev \
|
libjpeg-turbo-dev \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
@ -35,15 +36,16 @@ RUN \
|
|||||||
sqlite \
|
sqlite \
|
||||||
tesseract-ocr && \
|
tesseract-ocr && \
|
||||||
echo "**** install pyload ****" && \
|
echo "**** install pyload ****" && \
|
||||||
if [ -z ${PYLOAD_VERSION+x} ]; then \
|
if [ -z ${PYLOAD_COMMIT+x} ]; then \
|
||||||
PYLOAD_VERSION=$(curl -sL https://pypi.python.org/pypi/pyload-ng/json |jq -r '. | .info.version'); \
|
PYLOAD_COMMIT=$(curl -sX GET "https://api.github.com/repos/pyload/pyload/branches/develop" \
|
||||||
|
| awk '/sha/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
python3 -m venv /lsiopy && \
|
python3 -m venv /lsiopy && \
|
||||||
pip install -U --no-cache-dir \
|
pip install -U --no-cache-dir \
|
||||||
pip \
|
pip \
|
||||||
wheel && \
|
wheel && \
|
||||||
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
|
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
|
||||||
pyload-ng[all]=="${PYLOAD_VERSION}" && \
|
"git+https://github.com/pyload/pyload.git@${PYLOAD_COMMIT}" && \
|
||||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||||
echo "**** cleanup ****" && \
|
echo "**** cleanup ****" && \
|
||||||
apk del --purge \
|
apk del --purge \
|
||||||
|
|||||||
152
Jenkinsfile
vendored
152
Jenkinsfile
vendored
@ -19,8 +19,10 @@ pipeline {
|
|||||||
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
|
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
|
||||||
QUAYIO_API_TOKEN=credentials('quayio-repo-api-token')
|
QUAYIO_API_TOKEN=credentials('quayio-repo-api-token')
|
||||||
GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f')
|
GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f')
|
||||||
EXT_PIP = 'pyload-ng'
|
EXT_GIT_BRANCH = 'develop'
|
||||||
BUILD_VERSION_ARG = 'PYLOAD_VERSION'
|
EXT_USER = 'pyload'
|
||||||
|
EXT_REPO = 'pyload'
|
||||||
|
BUILD_VERSION_ARG = 'PYLOAD_COMMIT'
|
||||||
LS_USER = 'linuxserver'
|
LS_USER = 'linuxserver'
|
||||||
LS_REPO = 'docker-pyload-ng'
|
LS_REPO = 'docker-pyload-ng'
|
||||||
CONTAINER_NAME = 'pyload-ng'
|
CONTAINER_NAME = 'pyload-ng'
|
||||||
@ -77,7 +79,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:develop 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||||
@ -110,7 +112,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.LS_TAG_NUMBER = sh(
|
env.LS_TAG_NUMBER = sh(
|
||||||
script: '''#! /bin/bash
|
script: '''#! /bin/bash
|
||||||
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
|
tagsha=$(git rev-list -n 1 develop-${LS_RELEASE} 2>/dev/null)
|
||||||
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
||||||
echo ${LS_RELEASE_NUMBER}
|
echo ${LS_RELEASE_NUMBER}
|
||||||
elif [ -z "${GIT_COMMIT}" ]; then
|
elif [ -z "${GIT_COMMIT}" ]; then
|
||||||
@ -143,17 +145,25 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a pip release set the external tag to the pip version
|
// If this is a github commit trigger determine the current commit at head
|
||||||
stage("Set ENV pip_version"){
|
stage("Set ENV github_commit"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -sL https://pypi.python.org/pypi/${EXT_PIP}/json |jq -r '. | .info.version' ''',
|
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq -r '. | .sha' | cut -c1-8 ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.RELEASE_LINK = 'https://pypi.python.org/pypi/' + env.EXT_PIP
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // Sanitize the release tag and strip illegal docker or github characters
|
// If this is a github commit trigger Set the external release link
|
||||||
|
stage("Set ENV commit_link"){
|
||||||
|
steps{
|
||||||
|
script{
|
||||||
|
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/commit/' + env.EXT_RELEASE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Sanitize the release tag and strip illegal docker or github characters
|
||||||
stage("Sanitize tag"){
|
stage("Sanitize tag"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
@ -187,10 +197,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a main build use live docker endpoints
|
// If this is a develop build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@ -200,13 +210,13 @@ pipeline {
|
|||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
env.CITEST_IMAGETAG = 'latest'
|
env.CITEST_IMAGETAG = 'latest'
|
||||||
}
|
}
|
||||||
@ -215,7 +225,7 @@ pipeline {
|
|||||||
// If this is a dev build use dev docker endpoints
|
// If this is a dev build use dev docker endpoints
|
||||||
stage("Set ENV dev build"){
|
stage("Set ENV dev build"){
|
||||||
when {
|
when {
|
||||||
not {branch "main"}
|
not {branch "develop"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@ -225,13 +235,13 @@ pipeline {
|
|||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
}
|
}
|
||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
env.CITEST_IMAGETAG = 'develop'
|
env.CITEST_IMAGETAG = 'develop'
|
||||||
@ -250,13 +260,13 @@ pipeline {
|
|||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
}
|
}
|
||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||||
@ -295,7 +305,7 @@ pipeline {
|
|||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
@ -307,24 +317,24 @@ pipeline {
|
|||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
# Cloned repo paths for templating:
|
# Cloned repo paths for templating:
|
||||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch main of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch develop of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch main of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch develop of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||||
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
|
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
|
||||||
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
|
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
|
||||||
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
||||||
git clone --branch main --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
git clone --branch develop --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
echo "Starting Stage 1 - Jenkinsfile update"
|
echo "Starting Stage 1 - Jenkinsfile update"
|
||||||
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f main
|
git checkout -f develop
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
git add Jenkinsfile
|
git add Jenkinsfile
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
@ -343,13 +353,13 @@ pipeline {
|
|||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f main
|
git checkout -f develop
|
||||||
for i in ${TEMPLATES_TO_DELETE}; do
|
for i in ${TEMPLATES_TO_DELETE}; do
|
||||||
git rm "${i}"
|
git rm "${i}"
|
||||||
done
|
done
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
@ -364,20 +374,20 @@ pipeline {
|
|||||||
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
||||||
fi
|
fi
|
||||||
mkdir -p ${TEMPDIR}/d2
|
mkdir -p ${TEMPDIR}/d2
|
||||||
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:latest
|
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:develop
|
||||||
ls -al ${TEMPDIR}/d2
|
ls -al ${TEMPDIR}/d2
|
||||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.d2\\")" readme-vars.yml
|
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-develop.d2\\")" readme-vars.yml
|
||||||
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
|
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
|
||||||
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f main
|
git checkout -f develop
|
||||||
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
||||||
git add readme-vars.yml
|
git add readme-vars.yml
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
@ -394,7 +404,7 @@ pipeline {
|
|||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f main
|
git checkout -f develop
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||||
@ -407,8 +417,8 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
git add readme-vars.yml ${TEMPLATED_FILES}
|
git add readme-vars.yml ${TEMPLATED_FILES}
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
@ -509,7 +519,7 @@ pipeline {
|
|||||||
// Exit the build if the Templated files were just updated
|
// Exit the build if the Templated files were just updated
|
||||||
stage('Template-exit') {
|
stage('Template-exit') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
@ -522,10 +532,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a main build check the S6 service file perms
|
// If this is a develop build check the S6 service file perms
|
||||||
stage("Check S6 Service file Permissions"){
|
stage("Check S6 Service file Permissions"){
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@ -778,7 +788,7 @@ pipeline {
|
|||||||
// Take the image we just built and dump package versions for comparison
|
// Take the image we just built and dump package versions for comparison
|
||||||
stage('Update-packages') {
|
stage('Update-packages') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@ -801,14 +811,14 @@ pipeline {
|
|||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f main
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f develop
|
||||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||||
cd ${TEMPDIR}/${LS_REPO}/
|
cd ${TEMPDIR}/${LS_REPO}/
|
||||||
wait
|
wait
|
||||||
git add package_versions.txt
|
git add package_versions.txt
|
||||||
git commit -m 'Bot Updating Package Versions'
|
git commit -m 'Bot Updating Package Versions'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||||
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Package tag updated, stopping build process"
|
echo "Package tag updated, stopping build process"
|
||||||
else
|
else
|
||||||
@ -826,7 +836,7 @@ pipeline {
|
|||||||
// Exit the build if the package file was just updated
|
// Exit the build if the package file was just updated
|
||||||
stage('PACKAGE-exit') {
|
stage('PACKAGE-exit') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@ -840,7 +850,7 @@ pipeline {
|
|||||||
// Exit the build if this is just a package check and there are no changes to push
|
// Exit the build if this is just a package check and there are no changes to push
|
||||||
stage('PACKAGECHECK-exit') {
|
stage('PACKAGECHECK-exit') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@ -894,7 +904,7 @@ pipeline {
|
|||||||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||||
-e TAGS=\"${CI_TAGS}\" \
|
-e TAGS=\"${CI_TAGS}\" \
|
||||||
-e META_TAG=\"${META_TAG}\" \
|
-e META_TAG=\"${META_TAG}\" \
|
||||||
-e RELEASE_TAG=\"latest\" \
|
-e RELEASE_TAG=\"develop\" \
|
||||||
-e PORT=\"${CI_PORT}\" \
|
-e PORT=\"${CI_PORT}\" \
|
||||||
-e SSL=\"${CI_SSL}\" \
|
-e SSL=\"${CI_SSL}\" \
|
||||||
-e BASE=\"${DIST_IMAGE}\" \
|
-e BASE=\"${DIST_IMAGE}\" \
|
||||||
@ -934,7 +944,7 @@ pipeline {
|
|||||||
CACHEIMAGE=${i}
|
CACHEIMAGE=${i}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:develop -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||||
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||||
if [ -n "${SEMVER}" ]; then
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||||
@ -963,9 +973,9 @@ pipeline {
|
|||||||
CACHEIMAGE=${i}
|
CACHEIMAGE=${i}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-develop -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-develop -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||||
if [ -n "${SEMVER}" ]; then
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||||
@ -975,7 +985,7 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:develop ${MANIFESTIMAGE}:amd64-develop ${MANIFESTIMAGE}:arm64v8-develop || \
|
||||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
|
||||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||||
@ -993,7 +1003,7 @@ pipeline {
|
|||||||
// If this is a public release tag it in the LS Github
|
// If this is a public release tag it in the LS Github
|
||||||
stage('Github-Tag-Push-Release') {
|
stage('Github-Tag-Push-Release') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@ -1009,21 +1019,21 @@ pipeline {
|
|||||||
else
|
else
|
||||||
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
|
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
|
||||||
-d '{"tag_name":"'${META_TAG}'",\
|
-d '{"tag_name":"'${META_TAG}'",\
|
||||||
"target_commitish": "main"}' \
|
"target_commitish": "develop"}' \
|
||||||
| jq -r '.body' | sed 's|## What.s Changed||')
|
| jq -r '.body' | sed 's|## What.s Changed||')
|
||||||
fi
|
fi
|
||||||
echo "Pushing New tag for current commit ${META_TAG}"
|
echo "Pushing New tag for current commit ${META_TAG}"
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${META_TAG}'",\
|
-d '{"tag":"'${META_TAG}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to main",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to develop",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
|
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
echo "Updating PIP version of ${EXT_PIP} to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_RELEASE_CLEAN} | jq -r '.commit.message' > releasebody.json
|
||||||
jq -n \
|
jq -n \
|
||||||
--arg tag_name "$META_TAG" \
|
--arg tag_name "$META_TAG" \
|
||||||
--arg target_commitish "main" \
|
--arg target_commitish "develop" \
|
||||||
--arg ci_url "${CI_URL:-N/A}" \
|
--arg ci_url "${CI_URL:-N/A}" \
|
||||||
--arg ls_notes "$AUTO_RELEASE_NOTES" \
|
--arg ls_notes "$AUTO_RELEASE_NOTES" \
|
||||||
--arg remote_notes "$(cat releasebody.json)" \
|
--arg remote_notes "$(cat releasebody.json)" \
|
||||||
@ -1033,7 +1043,7 @@ pipeline {
|
|||||||
"name": $tag_name,
|
"name": $tag_name,
|
||||||
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
|
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
|
||||||
"draft": false,
|
"draft": false,
|
||||||
"prerelease": false }' > releasebody.json.done
|
"prerelease": true }' > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@ -1041,14 +1051,14 @@ pipeline {
|
|||||||
// Add protection to the release branch
|
// Add protection to the release branch
|
||||||
stage('Github-Release-Branch-Protection') {
|
stage('Github-Release-Branch-Protection') {
|
||||||
when {
|
when {
|
||||||
branch "main"
|
branch "develop"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Setting up protection for release branch main"
|
echo "Setting up protection for release branch develop"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/main/protection \
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/develop/protection \
|
||||||
-d $(jq -c . << EOF
|
-d $(jq -c . << EOF
|
||||||
{
|
{
|
||||||
"required_status_checks": null,
|
"required_status_checks": null,
|
||||||
|
|||||||
21
README.md
21
README.md
@ -1,5 +1,5 @@
|
|||||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||||
<!-- Please read https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/CONTRIBUTING.md -->
|
<!-- Please read https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/CONTRIBUTING.md -->
|
||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
@ -34,8 +34,8 @@ Find us at:
|
|||||||
[](https://quay.io/repository/linuxserver.io/pyload-ng)
|
[](https://quay.io/repository/linuxserver.io/pyload-ng)
|
||||||
[](https://hub.docker.com/r/linuxserver/pyload-ng)
|
[](https://hub.docker.com/r/linuxserver/pyload-ng)
|
||||||
[](https://hub.docker.com/r/linuxserver/pyload-ng)
|
[](https://hub.docker.com/r/linuxserver/pyload-ng)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/)
|
||||||
[](https://ci-tests.linuxserver.io/linuxserver/pyload-ng/latest/index.html)
|
[](https://ci-tests.linuxserver.io/linuxserver/pyload-ng/develop/index.html)
|
||||||
|
|
||||||
[pyLoad](https://pyload.net/) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.
|
[pyLoad](https://pyload.net/) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ Find us at:
|
|||||||
|
|
||||||
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `lscr.io/linuxserver/pyload-ng:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `lscr.io/linuxserver/pyload-ng:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
The architectures supported by this image are:
|
The architectures supported by this image are:
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ To help you get started creating a container from this image you can either use
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
pyload-ng:
|
pyload-ng:
|
||||||
image: lscr.io/linuxserver/pyload-ng:latest
|
image: lscr.io/linuxserver/pyload-ng:develop
|
||||||
container_name: pyload-ng
|
container_name: pyload-ng
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
@ -112,7 +112,7 @@ docker run -d \
|
|||||||
-v /path/to/pyload-ng/config:/config \
|
-v /path/to/pyload-ng/config:/config \
|
||||||
-v /path/to/downloads:/downloads \
|
-v /path/to/downloads:/downloads \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
lscr.io/linuxserver/pyload-ng:latest
|
lscr.io/linuxserver/pyload-ng:develop
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
@ -193,7 +193,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
|||||||
* Image version number:
|
* Image version number:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/pyload-ng:latest
|
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/pyload-ng:develop
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating Info
|
## Updating Info
|
||||||
@ -241,7 +241,7 @@ Below are the instructions for updating containers:
|
|||||||
* Update the image:
|
* Update the image:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull lscr.io/linuxserver/pyload-ng:latest
|
docker pull lscr.io/linuxserver/pyload-ng:develop
|
||||||
```
|
```
|
||||||
|
|
||||||
* Stop the running container:
|
* Stop the running container:
|
||||||
@ -278,7 +278,7 @@ cd docker-pyload-ng
|
|||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
-t lscr.io/linuxserver/pyload-ng:latest .
|
-t lscr.io/linuxserver/pyload-ng:develop .
|
||||||
```
|
```
|
||||||
|
|
||||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||||
@ -294,6 +294,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
* **09.01.26:** - Add gcompat for mini-racer.
|
* **09.01.26:** - Add gcompat for mini-racer.
|
||||||
* **01.09.25:** - Add new dep, libatomic.
|
* **01.09.25:** - Add new dep, libatomic.
|
||||||
* **09.06.25:** - Rebase to Alpine 3.22.
|
* **09.06.25:** - Rebase to Alpine 3.22.
|
||||||
|
* **02.03.25:** - Rebase to Alpine 3.21.
|
||||||
* **20.07.24:** - Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12.
|
* **20.07.24:** - Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12.
|
||||||
* **27.06.24:** - Rebase to Alpine 3.20.
|
* **27.06.24:** - Rebase to Alpine 3.20.
|
||||||
* **23.12.23:** - Rebase to Alpine 3.19.
|
* **23.12.23:** - Rebase to Alpine 3.19.
|
||||||
@ -301,7 +302,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
* **10.08.23:** - Bump unrar to 6.2.10.
|
* **10.08.23:** - Bump unrar to 6.2.10.
|
||||||
* **01.06.23:** - Replace p7zip with 7zip, add unrar.
|
* **01.06.23:** - Replace p7zip with 7zip, add unrar.
|
||||||
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
|
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
|
||||||
* **02.02.22:** - Rebase master to alpine 3.17.
|
* **02.02.22:** - Rebase to Alpine 3.17.
|
||||||
* **02.02.22:** - Add ffmpeg for the Youtube plugin.
|
* **02.02.22:** - Add ffmpeg for the Youtube plugin.
|
||||||
* **24.01.22:** - Replace unrar with p7zip.
|
* **24.01.22:** - Replace unrar with p7zip.
|
||||||
* **24.01.22:** - Initial release.
|
* **24.01.22:** - Initial release.
|
||||||
|
|||||||
@ -2,13 +2,15 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-pyload-ng
|
project_name: docker-pyload-ng
|
||||||
external_type: pip_version
|
external_type: github_commit
|
||||||
release_type: stable
|
release_type: prerelease
|
||||||
release_tag: latest
|
release_tag: develop
|
||||||
ls_branch: main
|
ls_branch: develop
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_PIP = 'pyload-ng'
|
- EXT_GIT_BRANCH = 'develop'
|
||||||
- BUILD_VERSION_ARG = 'PYLOAD_VERSION'
|
- EXT_USER = 'pyload'
|
||||||
|
- EXT_REPO = 'pyload'
|
||||||
|
- BUILD_VERSION_ARG = 'PYLOAD_COMMIT'
|
||||||
- LS_USER = 'linuxserver'
|
- LS_USER = 'linuxserver'
|
||||||
- LS_REPO = 'docker-pyload-ng'
|
- LS_REPO = 'docker-pyload-ng'
|
||||||
- CONTAINER_NAME = 'pyload-ng'
|
- CONTAINER_NAME = 'pyload-ng'
|
||||||
|
|||||||
@ -2,8 +2,7 @@ NAME VERSION TYPE
|
|||||||
7zip 24.09-r0 apk
|
7zip 24.09-r0 apk
|
||||||
Simple Launcher 1.1.0.14 binary (+5 duplicates)
|
Simple Launcher 1.1.0.14 binary (+5 duplicates)
|
||||||
acl-libs 2.3.2-r1 apk
|
acl-libs 2.3.2-r1 apk
|
||||||
aia-chaser 3.4.0 python
|
aia-chaser 3.3.0 python
|
||||||
aiodns 4.0.0 python
|
|
||||||
alpine-baselayout 3.7.0-r0 apk
|
alpine-baselayout 3.7.0-r0 apk
|
||||||
alpine-baselayout-data 3.7.0-r0 apk
|
alpine-baselayout-data 3.7.0-r0 apk
|
||||||
alpine-keys 2.5-r0 apk
|
alpine-keys 2.5-r0 apk
|
||||||
@ -27,7 +26,6 @@ babel 2.18.0 python
|
|||||||
backports-tarfile 1.2.0 python
|
backports-tarfile 1.2.0 python
|
||||||
backports-zstd 1.3.0 python
|
backports-zstd 1.3.0 python
|
||||||
bash 5.2.37-r0 apk
|
bash 5.2.37-r0 apk
|
||||||
beautifulsoup4 4.14.3 python
|
|
||||||
bitflags 2.4.1 rust-crate
|
bitflags 2.4.1 rust-crate
|
||||||
bitmath 1.3.3.1 python
|
bitmath 1.3.3.1 python
|
||||||
bitstream-io 2.2.0 rust-crate
|
bitstream-io 2.2.0 rust-crate
|
||||||
@ -45,7 +43,7 @@ ca-certificates-bundle 20250911-r0 apk
|
|||||||
cachelib 0.13.0 python
|
cachelib 0.13.0 python
|
||||||
cairo 1.18.4-r0 apk
|
cairo 1.18.4-r0 apk
|
||||||
catatonit 0.2.1-r0 apk
|
catatonit 0.2.1-r0 apk
|
||||||
certifi 2026.2.25 python
|
certifi 2026.1.4 python
|
||||||
cffi 2.0.0 python
|
cffi 2.0.0 python
|
||||||
cfg-if 1.0.0 rust-crate
|
cfg-if 1.0.0 rust-crate
|
||||||
cheroot 11.1.2 python
|
cheroot 11.1.2 python
|
||||||
@ -61,7 +59,6 @@ cli-64 UNKNOWN binary
|
|||||||
cli-arm64 UNKNOWN binary
|
cli-arm64 UNKNOWN binary
|
||||||
click 8.3.1 python
|
click 8.3.1 python
|
||||||
colorchoice 1.0.0 rust-crate
|
colorchoice 1.0.0 rust-crate
|
||||||
colorlog 6.10.1 python
|
|
||||||
console 0.15.8 rust-crate
|
console 0.15.8 rust-crate
|
||||||
coreutils 9.7-r1 apk
|
coreutils 9.7-r1 apk
|
||||||
coreutils-env 9.7-r1 apk
|
coreutils-env 9.7-r1 apk
|
||||||
@ -176,7 +173,7 @@ libopenmpt 0.7.15-r0 apk
|
|||||||
libpanelw 6.5_p20250503-r0 apk
|
libpanelw 6.5_p20250503-r0 apk
|
||||||
libpciaccess 0.18.1-r0 apk
|
libpciaccess 0.18.1-r0 apk
|
||||||
libplacebo 6.338.2-r3 apk
|
libplacebo 6.338.2-r3 apk
|
||||||
libpng 1.6.55-r0 apk
|
libpng 1.6.54-r0 apk
|
||||||
libproc2 4.0.4-r3 apk
|
libproc2 4.0.4-r3 apk
|
||||||
libpsl 0.21.5-r3 apk
|
libpsl 0.21.5-r3 apk
|
||||||
libpulse 17.0-r5 apk
|
libpulse 17.0-r5 apk
|
||||||
@ -250,7 +247,6 @@ packaging 26.0 python (+1 duplicate)
|
|||||||
pango 1.56.3-r0 apk
|
pango 1.56.3-r0 apk
|
||||||
paste 1.0.14 rust-crate
|
paste 1.0.14 rust-crate
|
||||||
pcre2 10.46-r0 apk
|
pcre2 10.46-r0 apk
|
||||||
pillow 12.1.1 python
|
|
||||||
pip 26.0.1 python
|
pip 26.0.1 python
|
||||||
pixman 0.46.4-r0 apk
|
pixman 0.46.4-r0 apk
|
||||||
platformdirs 4.4.0 python
|
platformdirs 4.4.0 python
|
||||||
@ -259,20 +255,16 @@ proc-macro2 1.0.76 rust-crate
|
|||||||
procps-ng 4.0.4-r3 apk
|
procps-ng 4.0.4-r3 apk
|
||||||
profiling 1.0.13 rust-crate
|
profiling 1.0.13 rust-crate
|
||||||
profiling-procmacros 1.0.13 rust-crate
|
profiling-procmacros 1.0.13 rust-crate
|
||||||
pyasn1 0.6.2 python
|
|
||||||
pyasn1-modules 0.4.2 python
|
|
||||||
pyc 3.12.12-r0 apk
|
pyc 3.12.12-r0 apk
|
||||||
pycares 5.0.1 python
|
|
||||||
pycparser 3.0 python
|
pycparser 3.0 python
|
||||||
pycurl 7.45.7 python
|
pycurl 7.45.7 python
|
||||||
pydantic 2.12.5 python
|
pydantic 2.12.5 python
|
||||||
pydantic-core 2.41.5 python
|
pydantic-core 2.41.5 python
|
||||||
pyload-ng 0.5.0b3.dev96 python
|
pyload-ng 0.5.0b3 python
|
||||||
pyopenssl 25.3.0 python
|
|
||||||
python3 3.12.12-r0 apk
|
python3 3.12.12-r0 apk
|
||||||
python3-pyc 3.12.12-r0 apk
|
python3-pyc 3.12.12-r0 apk
|
||||||
python3-pycache-pyc0 3.12.12-r0 apk
|
python3-pycache-pyc0 3.12.12-r0 apk
|
||||||
pytz 2026.1.post1 python
|
pytz 2025.2 python
|
||||||
quote 1.0.35 rust-crate
|
quote 1.0.35 rust-crate
|
||||||
radium 0.7.0 rust-crate
|
radium 0.7.0 rust-crate
|
||||||
rand 0.8.5 rust-crate
|
rand 0.8.5 rust-crate
|
||||||
@ -289,7 +281,6 @@ scanelf 1.3.8-r1 apk
|
|||||||
sdl2-compat 2.32.56-r0 apk
|
sdl2-compat 2.32.56-r0 apk
|
||||||
sdl3 3.2.16-r0 apk
|
sdl3 3.2.16-r0 apk
|
||||||
semver 2.13.0 python
|
semver 2.13.0 python
|
||||||
send2trash 2.1.0 python
|
|
||||||
serd-libs 0.32.4-r0 apk
|
serd-libs 0.32.4-r0 apk
|
||||||
setuptools 82.0.0 python
|
setuptools 82.0.0 python
|
||||||
shaderc 2024.4-r0 apk
|
shaderc 2024.4-r0 apk
|
||||||
@ -298,9 +289,7 @@ signal-hook 0.3.17 rust-crate
|
|||||||
signal-hook-registry 1.4.1 rust-crate
|
signal-hook-registry 1.4.1 rust-crate
|
||||||
simd_helpers 0.1.0 rust-crate
|
simd_helpers 0.1.0 rust-crate
|
||||||
skalibs-libs 2.14.4.0-r0 apk
|
skalibs-libs 2.14.4.0-r0 apk
|
||||||
slixmpp 1.13.2 python
|
|
||||||
sord-libs 0.16.18-r0 apk
|
sord-libs 0.16.18-r0 apk
|
||||||
soupsieve 2.8.3 python
|
|
||||||
soxr 0.1.3-r7 apk
|
soxr 0.1.3-r7 apk
|
||||||
speexdsp 1.2.1-r2 apk
|
speexdsp 1.2.1-r2 apk
|
||||||
spirv-tools 1.4.313.0-r0 apk
|
spirv-tools 1.4.313.0-r0 apk
|
||||||
@ -311,7 +300,6 @@ ssl_client 1.37.0-r20 apk
|
|||||||
syn 2.0.48 rust-crate
|
syn 2.0.48 rust-crate
|
||||||
tap 1.0.1 rust-crate
|
tap 1.0.1 rust-crate
|
||||||
tdb-libs 1.4.12-r0 apk
|
tdb-libs 1.4.12-r0 apk
|
||||||
tenacity 9.1.4 python
|
|
||||||
terminal_size 0.3.0 rust-crate
|
terminal_size 0.3.0 rust-crate
|
||||||
tesseract-ocr 5.5.0-r2 apk
|
tesseract-ocr 5.5.0-r2 apk
|
||||||
thiserror 1.0.56 rust-crate
|
thiserror 1.0.56 rust-crate
|
||||||
|
|||||||
@ -6,7 +6,6 @@ project_url: "https://pyload.net/"
|
|||||||
project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/pyload-logo.png"
|
project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/pyload-logo.png"
|
||||||
project_blurb: "[pyLoad]({{ project_url }}) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web."
|
project_blurb: "[pyLoad]({{ project_url }}) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web."
|
||||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||||
project_categories: "Downloaders"
|
|
||||||
# supported architectures
|
# supported architectures
|
||||||
available_architectures:
|
available_architectures:
|
||||||
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||||
@ -39,7 +38,7 @@ app_setup_block: |
|
|||||||
For general usage please see the pyLoad wiki [here](https://github.com/pyload/pyload/wiki) .
|
For general usage please see the pyLoad wiki [here](https://github.com/pyload/pyload/wiki) .
|
||||||
# init diagram
|
# init diagram
|
||||||
init_diagram: |
|
init_diagram: |
|
||||||
"pyload-ng:latest": {
|
"pyload-ng:develop": {
|
||||||
docker-mods
|
docker-mods
|
||||||
base {
|
base {
|
||||||
fix-attr +\nlegacy cont-init
|
fix-attr +\nlegacy cont-init
|
||||||
@ -77,12 +76,13 @@ init_diagram: |
|
|||||||
Base Images: {
|
Base Images: {
|
||||||
"baseimage-alpine:3.22"
|
"baseimage-alpine:3.22"
|
||||||
}
|
}
|
||||||
"pyload-ng:latest" <- Base Images
|
"pyload-ng:develop" <- Base Images
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- {date: "09.01.26:", desc: "Add gcompat for mini-racer."}
|
- {date: "09.01.26:", desc: "Add gcompat for mini-racer."}
|
||||||
- {date: "01.09.25:", desc: "Add new dep, libatomic."}
|
- {date: "01.09.25:", desc: "Add new dep, libatomic."}
|
||||||
- {date: "09.06.25:", desc: "Rebase to Alpine 3.22."}
|
- {date: "09.06.25:", desc: "Rebase to Alpine 3.22."}
|
||||||
|
- {date: "02.03.25:", desc: "Rebase to Alpine 3.21."}
|
||||||
- {date: "20.07.24:", desc: "Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12."}
|
- {date: "20.07.24:", desc: "Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12."}
|
||||||
- {date: "27.06.24:", desc: "Rebase to Alpine 3.20."}
|
- {date: "27.06.24:", desc: "Rebase to Alpine 3.20."}
|
||||||
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19."}
|
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19."}
|
||||||
@ -90,7 +90,7 @@ changelogs:
|
|||||||
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
|
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
|
||||||
- {date: "01.06.23:", desc: "Replace p7zip with 7zip, add unrar."}
|
- {date: "01.06.23:", desc: "Replace p7zip with 7zip, add unrar."}
|
||||||
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
|
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
|
||||||
- {date: "02.02.22:", desc: "Rebase master to alpine 3.17."}
|
- {date: "02.02.22:", desc: "Rebase to Alpine 3.17."}
|
||||||
- {date: "02.02.22:", desc: "Add ffmpeg for the Youtube plugin."}
|
- {date: "02.02.22:", desc: "Add ffmpeg for the Youtube plugin."}
|
||||||
- {date: "24.01.22:", desc: "Replace unrar with p7zip."}
|
- {date: "24.01.22:", desc: "Replace unrar with p7zip."}
|
||||||
- {date: "24.01.22:", desc: "Initial release."}
|
- {date: "24.01.22:", desc: "Initial release."}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user