Skip to content
Draft

FI #83

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
3538d04
Bot Updating Package Versions
LinuxServer-CI Sep 17, 2024
328a31e
Bot Updating Package Versions
LinuxServer-CI Sep 24, 2024
25428d0
Bot Updating Package Versions
LinuxServer-CI Sep 25, 2024
d3fe0c0
Bot Updating Templated Files
LinuxServer-CI Oct 1, 2024
85086e5
Bot Updating Templated Files
LinuxServer-CI Oct 1, 2024
8a51a26
Bot Updating Templated Files
LinuxServer-CI Oct 1, 2024
c262e49
Bot Updating Package Versions
LinuxServer-CI Oct 1, 2024
1474664
Bot Updating Package Versions
LinuxServer-CI Oct 8, 2024
01f12ba
Bot Updating Package Versions
LinuxServer-CI Oct 17, 2024
e5b3ef4
Bot Updating Package Versions
LinuxServer-CI Oct 22, 2024
05689ae
Bot Updating Package Versions
LinuxServer-CI Oct 29, 2024
8b0fa3a
Bot Updating Package Versions
LinuxServer-CI Nov 5, 2024
fb0465f
Bot Updating Package Versions
LinuxServer-CI Nov 7, 2024
1910793
Bot Updating Templated Files
LinuxServer-CI Nov 12, 2024
df4d112
Bot Updating Templated Files
LinuxServer-CI Nov 12, 2024
d756aa7
Bot Updating Package Versions
LinuxServer-CI Nov 19, 2024
8dd00ed
Bot Updating Package Versions
LinuxServer-CI Nov 26, 2024
9301b0f
Bot Updating Templated Files
LinuxServer-CI Dec 3, 2024
5e30c0d
Bot Updating Templated Files
LinuxServer-CI Dec 3, 2024
dfad39f
Bot Updating Templated Files
LinuxServer-CI Dec 3, 2024
3363ae1
Bot Updating Templated Files
LinuxServer-CI Dec 5, 2024
6da40f7
Bot Updating Package Versions
LinuxServer-CI Dec 12, 2024
6f0895b
Bot Updating Templated Files
LinuxServer-CI Dec 17, 2024
34ea4ee
Bot Updating Templated Files
LinuxServer-CI Dec 17, 2024
343a227
Bot Updating Package Versions
LinuxServer-CI Dec 24, 2024
021caf5
Bot Updating Package Versions
LinuxServer-CI Jan 7, 2025
b4ff591
Fix uploading large files
quietsy Jan 9, 2025
d607b5e
Merge pull request #480 from linuxserver/fix-large-files
quietsy Jan 9, 2025
342be68
Bot Updating Package Versions
LinuxServer-CI Jan 16, 2025
6ba88a6
Bot Updating Package Versions
LinuxServer-CI Jan 21, 2025
8f3559e
Add categories to readme-vars.yml
quietsy Jan 22, 2025
b8db8a0
Merge pull request #489 from linuxserver/add-project-categories
quietsy Jan 22, 2025
b6207b2
Bot Updating Package Versions
LinuxServer-CI Jan 28, 2025
0b2b251
Bot Updating Templated Files
LinuxServer-CI Feb 4, 2025
35a4c7d
Bot Updating Templated Files
LinuxServer-CI Feb 4, 2025
a1006f0
Bot Updating Templated Files
LinuxServer-CI Feb 11, 2025
509d654
Bot Updating Package Versions
LinuxServer-CI Feb 11, 2025
3670492
Rebase to 3.21
thespad Feb 12, 2025
3db6a00
Bot Updating Package Versions
LinuxServer-CI Feb 13, 2025
72823c6
Merge pull request #494 from linuxserver/master-3.21
thespad Feb 13, 2025
b44f846
Bot Updating Templated Files
LinuxServer-CI Feb 13, 2025
fe020f8
Bot Updating Package Versions
LinuxServer-CI Feb 13, 2025
e9bdab6
Bot Updating Package Versions
LinuxServer-CI Feb 18, 2025
ced40a2
Bot Updating Package Versions
LinuxServer-CI Feb 25, 2025
11982b1
Bot Updating Package Versions
LinuxServer-CI Feb 25, 2025
c97e312
Bot Updating Package Versions
LinuxServer-CI Mar 4, 2025
f4bc3e7
Bot Updating Package Versions
LinuxServer-CI Mar 11, 2025
71dca74
Bot Updating Package Versions
LinuxServer-CI Mar 18, 2025
58db8a8
Bot Updating Package Versions
LinuxServer-CI Apr 1, 2025
268bc69
Bot Updating Package Versions
LinuxServer-CI Apr 8, 2025
bb4c8ad
Bot Updating Package Versions
LinuxServer-CI Apr 11, 2025
9631b6e
Bot Updating Package Versions
LinuxServer-CI Apr 15, 2025
fd06c95
Bot Updating Package Versions
LinuxServer-CI Apr 16, 2025
d01e9b2
Bot Updating Package Versions
LinuxServer-CI Apr 22, 2025
9c0a1c7
Bot Updating Package Versions
LinuxServer-CI May 6, 2025
efd03d4
Bot Updating Package Versions
LinuxServer-CI May 15, 2025
474583b
Bot Updating Templated Files
LinuxServer-CI May 20, 2025
d14698f
Bot Updating Package Versions
LinuxServer-CI May 20, 2025
8de43f9
Bot Updating Package Versions
LinuxServer-CI May 26, 2025
681e003
Bot Updating Templated Files
LinuxServer-CI Jun 10, 2025
2d8f393
Bot Updating Package Versions
LinuxServer-CI Jun 10, 2025
2a6f636
Bot Updating Templated Files
LinuxServer-CI Jul 8, 2025
69f5ae1
Bot Updating Templated Files
LinuxServer-CI Jul 8, 2025
44a7602
Bot Updating Package Versions
LinuxServer-CI Jul 8, 2025
5b240d5
Rebase to 3.22
thespad Jul 10, 2025
345954f
Remove pecl-mcrypt
thespad Jul 10, 2025
7d1f2a6
Fix || breaking build failures
thespad Jul 10, 2025
4e0503e
Bot Updating Package Versions
LinuxServer-CI Jul 15, 2025
ad3ae9d
Merge pull request #511 from linuxserver/master-3.22
thespad Jul 20, 2025
8669c16
Bot Updating Templated Files
LinuxServer-CI Jul 20, 2025
418e949
Bot Updating Package Versions
LinuxServer-CI Jul 20, 2025
655d40c
Bot Updating Package Versions
LinuxServer-CI Jul 22, 2025
49ce943
Bot Updating Package Versions
LinuxServer-CI Jul 29, 2025
33f1dfb
Bot Updating Package Versions
LinuxServer-CI Aug 5, 2025
b856b47
Bot Updating Package Versions
LinuxServer-CI Aug 12, 2025
8f2cd9f
Bot Updating Package Versions
LinuxServer-CI Aug 14, 2025
94992dd
Bot Updating Package Versions
LinuxServer-CI Aug 19, 2025
5a0612c
Trim spaces around version numbers
thespad Aug 25, 2025
8521a9e
Bot Updating Package Versions
LinuxServer-CI Aug 26, 2025
649671a
Bash ifs
thespad Aug 26, 2025
1a9a562
Merge pull request #519 from linuxserver/master-version-spaces
thespad Sep 1, 2025
eddb0ba
Bot Updating Package Versions
LinuxServer-CI Sep 1, 2025
603a1aa
Bot Updating Package Versions
LinuxServer-CI Sep 23, 2025
c5374df
Bot Updating Package Versions
LinuxServer-CI Sep 27, 2025
bf34666
Bot Updating Package Versions
LinuxServer-CI Sep 30, 2025
5bbba7a
Bot Updating Package Versions
LinuxServer-CI Oct 7, 2025
01d2d79
Bot Updating Package Versions
LinuxServer-CI Oct 14, 2025
0ec1e07
Bot Updating Templated Files
LinuxServer-CI Oct 21, 2025
9262ce5
Bot Updating Package Versions
LinuxServer-CI Oct 21, 2025
caa56c3
Bot Updating Templated Files
LinuxServer-CI Oct 23, 2025
38c245c
Bot Updating Package Versions
LinuxServer-CI Oct 23, 2025
7fb8d5e
Bot Updating Package Versions
LinuxServer-CI Oct 28, 2025
fbe6911
Bot Updating Package Versions
LinuxServer-CI Nov 11, 2025
d4dd78e
Bot Updating Package Versions
LinuxServer-CI Nov 18, 2025
57be47d
Bot Updating Templated Files
LinuxServer-CI Nov 20, 2025
71f2e45
Bot Updating Package Versions
LinuxServer-CI Nov 20, 2025
7c15a6a
Bot Updating Package Versions
LinuxServer-CI Nov 25, 2025
02d3e63
Bot Updating Package Versions
LinuxServer-CI Dec 2, 2025
02e04c7
Bot Updating Package Versions
LinuxServer-CI Dec 9, 2025
29bfdd6
Bot Updating Package Versions
LinuxServer-CI Dec 16, 2025
26621e6
Bot Updating Package Versions
LinuxServer-CI Dec 23, 2025
aa7d6d7
Bot Updating Package Versions
LinuxServer-CI Jan 6, 2026
2a86ae1
Bot Updating Package Versions
LinuxServer-CI Jan 13, 2026
a4dd151
Bot Updating Package Versions
LinuxServer-CI Jan 15, 2026
bfff824
Bot Updating Package Versions
LinuxServer-CI Jan 27, 2026
d5a0616
Bot Updating Package Versions
LinuxServer-CI Feb 3, 2026
a998620
Bot Updating Package Versions
LinuxServer-CI Feb 10, 2026
a8acf60
Bot Updating Templated Files
LinuxServer-CI Feb 12, 2026
5c84764
Bot Updating Templated Files
LinuxServer-CI Feb 12, 2026
c4aa3dc
Bot Updating Package Versions
LinuxServer-CI Feb 12, 2026
a2c404e
Bot Updating Package Versions
LinuxServer-CI Feb 17, 2026
8fae3e3
Bot Updating Package Versions
LinuxServer-CI Feb 18, 2026
bdea9be
Bot Updating Package Versions
LinuxServer-CI Feb 24, 2026
d40ee73
Bot Updating Package Versions
LinuxServer-CI Mar 3, 2026
d6a3368
Bot Updating Package Versions
LinuxServer-CI Mar 17, 2026
7cf6ddf
Bot Updating Package Versions
LinuxServer-CI Mar 26, 2026
0970d1d
Bot Updating Package Versions
LinuxServer-CI Apr 2, 2026
311cc96
Bot Updating Templated Files
LinuxServer-CI Apr 7, 2026
5932c8f
Bot Updating Package Versions
LinuxServer-CI Apr 14, 2026
ba86674
Bot Updating Package Versions
LinuxServer-CI Apr 21, 2026
5adfcae
Bot Updating Package Versions
LinuxServer-CI Apr 28, 2026
f0af7e0
Bot Updating Package Versions
LinuxServer-CI Apr 30, 2026
1f44ecb
Bot Updating Package Versions
LinuxServer-CI May 5, 2026
eb420ea
Bot Updating Templated Files
LinuxServer-CI May 12, 2026
65e2192
Bot Updating Package Versions
LinuxServer-CI May 12, 2026
b6e8b29
Bot Updating Package Versions
LinuxServer-CI May 15, 2026
0e89eec
Bot Updating Package Versions
LinuxServer-CI May 26, 2026
6770bf7
Bot Updating Package Versions
LinuxServer-CI May 28, 2026
241a23f
Bot Updating Package Versions
LinuxServer-CI Jun 2, 2026
66ad66f
Bot Updating Package Versions
LinuxServer-CI Jun 8, 2026
9a2a92a
Bot Updating Package Versions
LinuxServer-CI Jun 8, 2026
f235e16
Bot Updating Package Versions
LinuxServer-CI Jun 9, 2026
bac9d27
Bot Updating Package Versions
LinuxServer-CI Jun 16, 2026
df2501b
Bot Updating Package Versions
LinuxServer-CI Jun 23, 2026
0357d47
Bot Updating Package Versions
LinuxServer-CI Jun 25, 2026
263d9bb
Bot Updating Package Versions
LinuxServer-CI Jul 7, 2026
3c73fa8
Bot Updating Package Versions
LinuxServer-CI Jul 14, 2026
7567889
Bot Updating Package Versions
LinuxServer-CI Jul 21, 2026
2ecdf79
Bot Updating Package Versions
LinuxServer-CI Jul 23, 2026
9df0fbf
Bot Updating Package Versions
LinuxServer-CI Jul 28, 2026
fcdc8cc
Bot Updating Package Versions
LinuxServer-CI Aug 13, 2026
98d57d9
Bot Updating Package Versions
LinuxServer-CI Aug 25, 2026
e62b4d1
Bot Updating Package Versions
LinuxServer-CI Sep 1, 2026
0a6105f
Bot Updating Templated Files
LinuxServer-CI Sep 8, 2026
1f64cf8
Bot Updating Templated Files
LinuxServer-CI Sep 8, 2026
94dfa2e
Bot Updating Package Versions
LinuxServer-CI Sep 8, 2026
d89ff18
Bot Updating Package Versions
LinuxServer-CI Sep 10, 2026
bd8d44e
Bot Updating Package Versions
LinuxServer-CI Sep 15, 2026
580fd3d
Bot Updating Package Versions
LinuxServer-CI Sep 16, 2026
6debb76
Bot Updating Package Versions
LinuxServer-CI Sep 29, 2026
2960f97
Bot Updating Templated Files
LinuxServer-CI Oct 6, 2026
b0a0455
Bot Updating Templated Files
LinuxServer-CI Oct 6, 2026
8206783
Bot Updating Package Versions
LinuxServer-CI Oct 6, 2026
24cf8ee
Bot Updating Package Versions
LinuxServer-CI Oct 13, 2026
344a628
rebase to alpine 3.24 with php 8.5. tweak opcache settings. Import up…
aptalca Oct 14, 2026
be4fc74
Bot Updating Templated Files
LinuxServer-CI Oct 15, 2026
7dfe376
Bot Updating Package Versions
LinuxServer-CI Oct 15, 2026
62cc784
Merge pull request #548 from linuxserver/3.24
aptalca Oct 15, 2026
67c0220
Bot Updating Templated Files
LinuxServer-CI Oct 15, 2026
52ac097
Bot Updating Package Versions
LinuxServer-CI Oct 15, 2026
53fcead
Bot Updating Package Versions
LinuxServer-CI Oct 20, 2026
025f219
Bot Updating Package Versions
LinuxServer-CI Oct 21, 2026
20d9969
Bot Updating Package Versions
LinuxServer-CI Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified .editorconfig
100755 → 100644
Empty file.
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)

## Common files

Expand Down Expand Up @@ -105,10 +105,10 @@ docker build \
-t linuxserver/nextcloud:latest .
```

The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`

```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```

Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
Expand Down
Empty file modified .github/FUNDING.yml
100755 → 100644
Empty file.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://discord.gg/YWrKVTn
url: https://linuxserver.io/discord
about: Realtime support / chat with the community and the team.

- name: Discourse discussion forum
url: https://discourse.linuxserver.io
- name: Github Discussions
url: https://github.com/orgs/linuxserver/discussions
about: Post on our community forum.

- name: Documentation
Expand Down
Empty file modified .github/ISSUE_TEMPLATE/issue.bug.yml
100755 → 100644
Empty file.
Empty file modified .github/ISSUE_TEMPLATE/issue.feature.yml
100755 → 100644
Empty file.
12 changes: 7 additions & 5 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]


<!--- Before submitting a pull request please check the following -->

<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
Expand All @@ -12,7 +11,6 @@
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->


<!--- Coding guidelines: -->
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
Expand All @@ -21,11 +19,16 @@

------------------------------

- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications

<!--- LLM disclosure: -->

- [ ] An LLM assisted me in writing the code or text for this PR
- [ ] An LLM agent wrote the code or text for this PR

------------------------------

<!--- We welcome all PR’s though this doesn’t guarantee it will be accepted. -->
<!--- We welcome all PRs though this doesn’t guarantee it will be accepted. -->

## Description:
<!--- Describe your changes in detail -->
Expand All @@ -38,6 +41,5 @@
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->


## Source / References:
<!--- Please include any forum posts/github links relevant to the PR -->
3 changes: 3 additions & 0 deletions .github/workflows/call_issue_pr_tracker.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
pull_request_review:
types: [submitted,edited,dismissed]

permissions:
contents: read

jobs:
manage-project:
permissions:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/call_issues_cron.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
- cron: '35 2 * * *'
workflow_dispatch:

permissions:
contents: read

jobs:
stale:
permissions:
Expand Down
120 changes: 82 additions & 38 deletions .github/workflows/external_trigger.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,39 @@ name: External Trigger Main
on:
workflow_dispatch:

permissions:
contents: read

jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: linuxserver/github-workflows/.github/actions/checkout@v1

- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-nextcloud\n\n" >> $GITHUB_STEP_SUMMARY
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER }}" ]; then
if grep -q "^nextcloud_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^nextcloud_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github secret \`PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nextcloud_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_NEXTCLOUD_MASTER\`" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, add \`nextcloud_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u ${{ secrets.CR_USER }}:${{ secrets.CR_PAT }} -sX GET https://api.github.com/repos/nextcloud/server/releases | jq -r '.[] | select(.prerelease != true) | .tag_name' | sed 's|^v||g' | sort -rV | head -1)
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^nextcloud_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
Expand All @@ -33,24 +46,43 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/nextcloud"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnextcloud%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}" \
| jq -r 'first(.manifests[].digest)')
digest=$(curl -s \
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
digest=$(jq -r '.config.digest' <<< "${digest}");
fi
fi
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}")
Expand All @@ -71,33 +103,45 @@ jobs:
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/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
exit 0
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/buildWithParameters?PACKAGE_CHECK=false \
--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 "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for nextcloud tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
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"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
if [[ "${artifacts_found}" == "false" ]]; then
echo "> [!WARNING]" >> $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 nextcloud tag latest 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,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nextcloud/job/master/buildWithParameters?PACKAGE_CHECK=false \
--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 "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for nextcloud tag latest. 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,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi
5 changes: 4 additions & 1 deletion .github/workflows/external_trigger_scheduler.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ on:
- cron: '27 * * * *'
workflow_dispatch:

permissions:
contents: read

jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: linuxserver/github-workflows/.github/actions/checkout@v1
with:
fetch-depth: '0'

Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/greetings.yml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@ name: Greetings

on: [pull_request_target, issues]

permissions:
contents: read

jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
- uses: linuxserver/github-workflows/.github/actions/first-interaction@v1
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.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nextcloud/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}
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-nextcloud/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo_token: ${{ secrets.GITHUB_TOKEN }}
42 changes: 0 additions & 42 deletions .github/workflows/package_trigger.yml

This file was deleted.

Loading